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

Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi

77 11 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 77
Dung lượng 4,24 MB

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

Nội dung

Việc phân loại văn bản là tiến trình xếp các tài liệu văn bản vào trong một hoặc nhiều các tài liệu vào nhóm các chủ đề, để sử dụng nó là vấn đề ngày càng trở nên cần thiết.. Gần đây, cá

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM

LÊ THANH TRANG

NGHIÊN CỨU PHƯƠNG PHÁP HỌC MÁY

ĐỂ PHÂN LOẠI VĂN BẢN TẠI VĂN PHÒNG

UBND TỈNH QUẢNG NGÃI

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Đà Nẵng - Năm 2017

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM

LÊ THANH TRANG

NGHIÊN CỨU PHƯƠNG PHÁP HỌC MÁY

ĐỂ PHÂN LOẠI VĂN BẢN TẠI VĂN PHÒNG

UBND TỈNH QUẢNG NGÃI

Chuyên ngành: Hệ thống thông tin

Mã số: 61.49.01.04

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Người hướng dẫn khoa học: PGS.TS HUỲNH CÔNG PHÁP

Đà Nẵng - Năm 2017

Trang 3

Các số liệu, kết quả trình bày trong luận văn là trung thực Những tư liệu được

sử dụng trong luận văn có nguồn gốc và trích dẫn rõ ràng, đầy đủ

Tác giả luận văn

Lê Thanh Trang

Trang 4

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích nghiên cứu 2

3 Mục tiêu nghiên cứu 2

4 Đối tượng và phạm vi nghiên cứu 2

5 Phương pháp nghiên cứu 3

6 Ý nghĩa khoa học và thực tiễn của luận văn 3

7 Nội dung luận văn 4

CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN 5

1.1 TỔNG QUAN VỀ HỌC MÁY 5

1.1.1 Phân loại phương pháp học máy 5

1.1.2 Các ứng dụng của học máy 8

1.2 TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU 9

1.2.1 Giới thiệu về phân lớp 9

1.2.2 Các loại phân lớp dữ liệu 9

1.3 PHÂN LỚP VĂN BẢN 10

1.3.1 Khái niệm 10

1.3.2 Định nghĩa phân lớp văn bản: 11

1.3.3 Mô hình phân lớp văn bản 12

1.3.4 Các bước xây dựng bộ phân lớp văn bản 13

1.3.5 Các bước tiền xử lý dữ liệu 14

1.3.6 Phương pháp tách từ tiếng Việt 14

1.3.7 Loại bỏ từ dừng 15

1.3.8 Phương pháp biểu diễn văn bản 16

1.4 CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN VẤN ĐỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN VÀ PHÂN LỚP VĂN BẢN 19

Trang 5

CHƯƠNG 2 ÁP DỤNG MÔ HÌNH HỌC MÁY SUPPORT VECTOR MACHINES (SVM) VÀO PHÂN LOẠI VĂN BẢN TẠI VĂN PHÒNG UBND

TỈNH QUẢNG NGÃI 22

2.1 Khái niệm về học máy 22

2.2 Bộ phân loại Support Vector Machines (SVM) 22

2.2.1 Siêu phẳng tối ưu 24

2.2.2 Phân lớp mềm 27

2.2.3 Trường hợp phân tách phi tuyến 31

2.2.4 Một số hàm nhân (Kernel) thông dụng 32

2.2.5 SVM đa lớp 33

2.2.6 Các thuật toán huấn luyện 35

2.2.7 Phương pháp tách từ 36

2.2.8 Phương pháp Kiểm tra chéo (cross validation) 36

2.3.9 Các yếu tố tác động đến kết quả phân loại văn bản: 37

2.4 KẾT CHƯƠNG 2 37

CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM TRONG BÀI TOÁN HỌC MÁY CÓ GIÁM SÁT ĐỂ PHÂN LOẠI VĂN BẢN TẠI VĂN PHÒNG UBND TỈNH QUẢNG NGÃI 39

3.1 Ngôn ngữ tiếng Việt 39

3.2 Khái niệm về văn bản quản lý nhà nước 40

3.2.1 Văn bản quản lý nhà nước 40

3.2.2 Văn bản quản lý hành chính nhà nước 40

3.2.3 Phân loại văn bản quản lý nhà nước 41

3.2.4 Ngôn ngữ trong văn bản hành chính 41

3.2.5 Khung phân loại thống nhất thông tin 42

3.3 Bài toán phân lớp tại Văn phòng UBND tỉnh Quảng Ngãi 43

3.3.1 Phát biểu bài toán 43

3.3.2 Phương pháp phân lớp SVM đa lớp 44

3.3.3 Mô hình SVM đa lớp cho bài toán phân lớp văn bản 44

Trang 6

3.4 Xây dựng chương trình thử nghiệm 46

3.4.1 Môi trường thực nghiệm 46

3.3.2 Thư viện nguồn hỗ trợ 46

3.4.3 Dữ liệu và chương trình 46

3.4.4 Xây dựng bộ từ điển danh từ 48

3.4.5 Giao diện chương trình 49

3.4.6 Các bước sử dụng chương trình thử nghiệm 49

3.5 Đánh giá kết quả thực nghiệm 53

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 55 TÀI LIỆU THAM KHẢO

QUYẾT ĐỊNH GIAO ĐỀ TÀI (BẢN SAO)

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

CNTT Công nghệ thông tin

TB Terabyte (thuật ngữ đo lường để chỉ dung lượng lưu trữ máy tính)

TF – IDF Term frequency – inverse document frequency

Trang 8

DANH MỤC CÁC BẢNG

Số hiệu

Trang 9

2.5 Ánh xạ dữ liệu vào không gian khác với số chiều cao hơn 31

3.1 Mô hình bài toán phân lớp văn bản dữ liệu văn bản hành

3.8 Thông số hệ thống chương trình thử nghiệm sử dụng 54

Trang 10

MỞ ĐẦU

1 Lý do chọn đề tài

Hiện nay một lượng lớn dữ liệu văn bản có sẵn về các lĩnh vực khác nhau đã được thu thập, lưu trữ Việc phân loại văn bản là tiến trình xếp các tài liệu văn bản vào trong một hoặc nhiều các tài liệu vào nhóm các chủ đề, để sử dụng nó là vấn đề ngày càng trở nên cần thiết Vì thế, vấn đề phân lớp và dự đoán là khâu rất quan trọng trong học máy và trong khai phá dữ liệu Một trong những công cụ được đánh giá mạnh và tinh vi cho những bài toán phân lớp phi tuyến đó là kỹ thuật Support Vector Machines (SVM) do Corters và Vapnik giới thiệu vào năm 1995[14] Nhiều ứng dụng đã và đang được xây dựng dựa trên kỹ thuật SVM rất hiệu quả SVM là mô hình xây dựng một siêu phẳng hoặc một tập hợp các siêu phẳng trong một không gian nhiều chiều hoặc vô hạn chiều, có thể được sử dụng cho phân loại, hồi quy, hoặc các nhiệm vụ khác Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến tính trong một không gian ban đầu được dùng để mô tả một vấn đề Vì vậy, nhiều khi cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian mới nhiều chiều hơn, để việc phân tính chúng trở nên dễ dàng hơn trong không gian mới Gần đây, các nhà nghiên cứu đã thực hiện sử dụng các kỹ thuật học máy để kết hợp tự động phân loại các tài liệu bằng cách đầu tiên sử dụng một tập huấn luyện để thông qua bộ phân loại tới tập đặc trưng của tập tài liệu Quy trình học máy được khởi tạo bởi một một sự kiểm tra các tài liệu mẫu để quyết định tập đặc trưng tối thiểu mà sinh ra các kết quả phân loại mong muốn Trong giai đoạn huấn luyện có thể được giám sát hoặc không giám sát Trong cả hai trường hợp một tập các phân loại được định nghĩa một quyền ưu tiên, không giống phân nhóm mà định nghĩa các phân loại dựa trên đặc trưng của các tài liệu thực sự Các kỹ thuật học không giám sát sử dụng các đặc trưng của các tài liệu huấn luyện để cho giải thuật quyết định phân loại mỗi tài liệu thuộc vào Các kỹ thuật học có giám sát sử dụng một tập các tài liệu huấn luyện

mà đã được kết hợp trong một phân loại để quyết định tập đặc trưng nào của các tài liệu sẽ tạo ra kết quả mong muốn

Trang 11

Tại Văn phòng UBND tỉnh Quảng Ngãi theo thống kê số lượng văn bản hành chính được ban hành mỗi năm khoảng 15 nghìn văn bản các loại chưa tính các loại văn bản đến đơn vị Hạ tầng công nghệ thông tin tại Văn phòng UBND tỉnh Quảng Ngãi được đầu tư từ năm 2001 theo Đề án Tin học hóa quản lý hành chính nhà nước của Chính phủ Đến nay, CSDL văn bản được lưu giữ trên 3 TB dữ liệu Theo Nghị định Chính phủ yêu cầu cung cấp thông tin trực tuyến trên Cổng thông tin điện tử của các tỉnh, Văn phòng UBND tỉnh Quảng Ngãi chỉ mới cung cấp CSDL văn bản từ năm

2010, việc phân loại các văn bản vào các nhóm chỉ dừng ở mức độ theo loại văn bản chưa phân loại được theo các lĩnh vực, để thuận lợi cho việc tra cứu, sắp xếp, lưu trữ…Do vậy, cần phải có hệ thống xử lý văn bản hiệu quả và phương pháp học máy có giám sát để tận dụng được các nguồn dữ liệu văn bản chưa được phân loại tại Văn phòng UBND tỉnh Quảng Ngãi Nhận thấy đây là lĩnh vực mang tính khoa học cao, ứng dụng rất nhiều trong các bài toán thực tế

Với những vấn đề nêu trên tôi chọn đề tài “Nghiên cứu phương pháp học máy

để phân loại văn bản tại Văn phòng UBND tỉnh Quảng Ngãi” làm chủ đề nghiên

cứu tại luận văn này

2 Mục đích nghiên cứu

Nghiên cứu kỹ thuật học máy và một số giải thuật thường sử dụng trong học máy, ứng dụng kỹ thuật học có giám sát

3 Mục tiêu nghiên cứu

- Nghiên cứu kỹ thuật xử lý ngôn ngữ tiếng Việt

- Xây dựng kho dữ liệu huấn luyện để ứng dụng vào bài toán phân loại văn bản

- Ứng dụng kỹ thuật học máy có giám sát vào bài toán phân loại văn bản tại Văn phòng UBND tỉnh Quảng Ngãi

4 Đối tượng và phạm vi nghiên cứu

Trong khuôn khổ luận văn thuộc loại nghiên cứu và ứng dụng, đề tài chỉ giới hạn nghiên cứu các vấn đề sau:

- Các vấn đề liên quan đến học máy có giám sát

- Các tài liệu, văn bản dạng text chuẩn tiếng Việt không có hình ảnh hoặc âm thanh

Trang 12

- Nghiên cứu phương pháp học có giám sát để giải quyết bài toán phân loại văn bản theo các chủ đề như: Xây dựng, Giao thông, Văn hóa xã hội, Công nghệ thông tin, Hành chính, Nông nghiệp, Nội chính…

5 Phương pháp nghiên cứu

5.1 Phương pháp lý thuyết

- Thu thập và nghiên cứu tài liệu có liên quan

- Nghiên cứu kỹ thuật học có giám sát

- Nghiên cứu lý thuyết về xử lý ngôn ngữ tự nhiên

- Biểu đạt kết quả

5.2 Phương pháp thực nghiệm

- Xây dựng kho dữ liệu huấn luyện

- Xây dựng quy trình phân loại văn bản

- Ứng dụng quy trình phân loại văn bản vào mô hình thực tế phân loại văn bản tại Văn phòng UBND tỉnh Quảng Ngãi

6 Ý nghĩa khoa học và thực tiễn của luận văn

- Hiểu được lý thuyết về xử lý ngôn ngữ tự nhiên

- Nhìn nhận được mức độ đóng góp của các tác giả so với các phương pháp trước đây; ý nghĩa đóng góp về mặt học thuật có tính phát minh

6.2 Ý nghĩa thực tiễn

- Trong thực tiễn đời sống hằng ngày, thông tin quanh ta là rất nhiều Biến thông tin thành tri thức để phục vụ con người là khát vọng không chỉ riêng đối với các nhà khoa học

- So với những phương pháp trước đây, phương pháp phân loại văn bản với Support Vector Machines (SVM) được nghiên cứu từ những năm 60 với những công

Trang 13

trình của Vapnik và Lerner (1963)[16], Vapnik và Chervonenkis (1964)[16] có khả năng cho kết quả nhận dạng chính xác hơn so với các phương pháp học máy khác – điều này mở ra một khả năng rộng lớn cho các bài toán ứng dụng trong nhiều ngành

- Đưa phương pháp học máy có giám sát vào bài toán phân loại văn bản tại Văn phòng UBND tỉnh Quảng Ngãi

7 Nội dung luận văn

Luận văn gồm 3 chương chính:

Chương 1: Nghiên cứu tổng quan

Chương 2: Áp dụng mô hình học máy Support Vector Machines (SVM) cho phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi

Chương 3: Xây dựng chương trình thử nghiệm trong bài toán học máy có giám sát để phân loại văn bản tại văn phòng UBND tỉnh

Cuối cùng là những kết luận, định hướng nghiên cứu và phát triển của luận văn

Trang 14

CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN

1.1 TỔNG QUAN VỀ HỌC MÁY

Học máy (Machine Learning - ML) [22]là một ngành khoa học nghiên cứu các thuật toán cho phép máy tính có thể học được các khái niệm (concept) Có hai loại phương pháp học máy chính:

- Phương pháp quy nạp: là phương pháp máy học dựa trên dữ liệu đã thu thập được trước đó Phương pháp này cho phép tận dụng được nguồn dữ liệu rất nhiều và sẵn có

- Phương pháp suy diễn: là phương pháp dựa vào các luật Phương pháp này cho phép tận dụng được các kiến thức chuyên ngành để hỗ trợ máy tính

Hiện nay, các thuật toán đều cố gắng tận dụng được các ưu điểm của hai phương pháp này

1.1.1 Phân loại phương pháp học máy

1.1.1.1 Học có giám sát (supervised learning)

Học có giám sát [23]là một kỹ thuật học máy để học từ tập dữ liệu được gán nhãn cho trước Tập dữ liệu cho trước sẽ chứa nhiều bộ dữ liệu Mỗi bộ dữ liệu có cấu trúc

theo cặp với x được xem là dữ liệu thô (raw data) và y là nhãn của dữ liệu đó Nhiệm

vụ của học có giám sát là dự đoán đầu ra mong muốn dựa vào giá trị đầu vào Tóm lại, học có giám sát tức là máy học dựa vào sự trợ giúp của con người, hay nói cách khác con người dạy cho máy học và giá trị đầu ra mong muốn được định trước bởi con người Tập dữ liệu huấn luyện hoàn toàn được gán nhãn dựa vào con người Tập càng nhỏ thì máy tính học càng ít Mô hình chung của học có giám sát được khái quát như hình sau:

Trang 15

Hình 1.1 Mô hình thuật toán học máy có giám sát

Để giải quyết một bài toán nào đó của học có giám sát, người ta phải xem xét nhiều bước khác nhau:

- Xác định loại của các ví dụ huấn luyện Trước khi làm bất cứ điều gì, người làm nhiệm vụ phân lớp nên quyết định loại dữ liệu nào sẽ được sử dụng làm ví dụ Chẳng hạn đó có thể là một ký tự viết tay đơn lẻ, toàn tập một từ viết tay, hay toàn tập một dòng chữ viết tay

- Thu thập tập huấn luyện Tập huấn luyện cần đặc trưng cho thực tế sử dụng của hàm chức năng Vì thế, một tập các đối tượng đầu vào được thu thập và đầu ra tương ứng được thu thập, hoặc từ các chuyên gia hoặc từ việc đo đạc tính toán

- Xác định việc biểu diễn các đặc trưng đầu vào cho hàm chức năng cần tìm Sự chính xác của hàm chức năng phụ thuộc lớn vào cách các đối tượng đầu vào được biểu diễn Thông thường, đối tượng đầu vào được chuyển đổi thành một vector đặc trưng, chứa một số các đặc trưng nhằm mô tả cho đối tượng đó Số lượng các đặc trưng không nên quá lớn, do sự bùng nổ tổ hợp (curse of dimensionality), nhưng phải đủ lớn

để dự đoán chính xác đầu ra

- Xác đinh cấu trúc của hàm chức năng cần tìm và giải thuật học tương ứng Ví

dụ người thực hiện quá trình phân lớp có thể lựa chọn việc sử dụng mạng nơ- ron nhân tạo hay cây quyết định…

Trang 16

- Hoàn thiện thiết kế Người thiết kế sẽ chạy giải thuật học từ một tập huấn luyện thu thập được Các tham số của giải thuật học có thể được điều chỉnh bằng cách tối ưu hoá hiệu năng trên một tập con (gọi là tập kiểm chứng – validation set) của tập huấn luyện, hay thông qua kiểm chứng chéo (crossvalidation) Sau khi học và điều chỉnh tham số, hiệu năng của giải thuật có thể được đo dạc trên một tập kiểm tra độc lập với tập huấn luyện

Một số thuật toán điển hình:

Thuật toán K láng giềng

Mô hình xác suất Naive Bayes

Phương pháp Support Vector Machines

1.1.1.2 Học không có giám sát (unsupervised learning)

Học không giám sát [23]là một kỹ thuật của máy học nhằm tìm ra một mô hình hay cấu trúc bị ẩn bởi tập dữ liệu không được gán nhãn cho trước Học không có giám sát khác với học có giám sát là không thể xác định trước đầu ra từ tập dữ liệu huấn luyện được Tùy thuộc vào tập huấn luyện kết quả đầu ra sẽ khác nhau Trái ngược với học có giám sát, tập dữ liệu huấn luyện của học không có giám sát không do con người gán nhãn, máy tính sẽ phải tự học hoàn toàn Có thể nói, học không có giám sát thì giá trị đầu ra sẽ phụ thuộc vào thuật toán học không có giám sát

1.1.1.3 Học bán giám sát (semi-supervised learning)

Trong khoa học máy tính, học bán giám sát [24]là một lớp của kỹ thuật học máy,

sử dụng cả dữ liệu đã gán nhãn và chưa gán nhãn để huấn luyện - điển hình là một lượng nhỏ dữ liệu có gán nhãn cùng với lượng lớn dữ liệu chưa gán nhãn Học bán giám sát đứng giữa học không giám sát (không có bất kì dữ liệu có nhãn nào) và có giám sát (toàn bộ dữ liệu đều được gán nhãn) Nhiều nhà nghiên cứu nhận thấy dữ liệu không gán nhãn, khi được sử dụng kết hợp với một chút dữ liệu có gán nhãn, có thể cải thiện đáng kể độ chính xác Để gán nhãn dữ liệu cho một bài toán học máy thường đòi hỏi một chuyên viên có kỹ năng để phân loại bằng tay các ví dụ huấn luyện Chi phí cho quy trình này khiến tập dữ liệu được gán nhãn hoàn toàn trở nên không khả thi, trong khi dữ liệu không gán nhãn thường tương đối rẻ tiền

Trang 17

1.1.1.4 Học tăng cường (reinforcement learning)

Trong ngành khoa học máy tính, học tăng cường [25]là một lĩnh vực con của học máy, nghiên cứu cách thức một agent trong một môi trường nên chọn thực hiện các hành động nào để cực đại hóa một khoản thưởng (reward) nào đó về lâu dài Các thuật toán học tăng cường cố gắng tìm một chiến lược ánh xạ các trạng thái của thế giới tới các hành động mà agent nên chọn trong các trạng thái đó Khác với học có giám sát, trong học tăng cường không có các cặp dữ liệu vào/kết quả đúng, các hành động gần tối ưu cũng không được đánh giá đúng sai một cách tường minh Hơn nữa, ở đây hoạt động trực tuyến (on-line performance) được quan tâm, trong đó có việc tìm kiếm một

sự cân bằng giữa khám phá (lãnh thổ chưa lập bản đồ) và khai thác (tri thức hiện có) Trong học tăng cường, sự được và mất giữa khám phá và khai thác đã được nghiên cứu chủ yếu qua bài toán tên cướp nhiều tay (multi-armed bandit)

- Tìm kiếm (Search Engine)

- Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán tự động

- Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein

- Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …

- Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tín dụng

- Phân tích thị trường chứng khoán (stock market analysis)

- Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo

- Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ thần kinh/bộ não của người máy

Trang 18

1.2 TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU

1.2.1 Giới thiệu về phân lớp

Bài toán phân lớp [4]là quá trình phân lớp một đối tượng dữ liệu vào một hay nhiều lớp đã cho trước nhờ một mô hình phân lớp (model) Mô hình này được xây dựng dựa trên một tập dữ liệu được xây dựng trước đó có gán nhãn (hay còn gọi là tập huấn luyện) Quá trình phân lớp là quá trình gán nhãn cho đối tượng dữ liệu Như vậy, nhiệm vụ của bài toán phân lớp là cần tìm một mô hình phần lớp để khi có dữ liệu mới thì có thể xác định được dữ liệu đó thuộc vào phân lớp nào

Tóm lại phân lớp dữ liệu là quá trình sắp xếp và phân lớp các dữ liệu vào nhiều loại hình, hình thức hoặc bất kỳ tầng lớp đặc biệt khác Phân lớp dữ liệu cho phép chia tách và phân lớp dữ liệu theo yêu cầu của bộ dữ liệu cho nhiều mục tiêu kinh doanh hoặc cá nhân Nó chủ yếu là một quá trình quản lý dữ liệu

1.2.2 Các loại phân lớp dữ liệu

1.2.2.1 Phân lớp dữ liệu nhị phân

Phân lớp dữ liệu nhị phân là quá trình tiến hành việc phân lớp dữ liệu vào một trong hai lớp khác nhau dựa vào việc dữ liệu đó có hay không có một số đặc tính theo quy định của bộ phân lớp

1.2.2.2 Phân lớp dữ liệu đa lớp

Phân lớp dữ liệu đa lớp là quá trình phân lớp với số lượng lớn hơn hai Như vậy, tập hợp dữ liệu trong miền xem xét được phân chia thành nhiều lớp chứ không đơn thuần chỉ là hai lớp như trong bài toán phân lớp nhị phân Tóm lại về bản chất, bài toán phân lớp nhị phân là một trường hợp riêng của bài toán phân lớp đa lớp

1.2.2.3 Phân lớp dữ liệu đơn trị

Phân lớp dữ liệu đơn trị là quá trình phân lớp mà mỗi đối tượng dữ liệu trong tập

dữ liệu huấn luyện được gán vào chính xác một lớp

1.2.2.4 Phân lớp dữ liệu đa trị

Phân lớp dữ liệu đa trị là mỗi đối tượng dữ liệu trong tập huấn luyện cũng như các đối tượng mới sau khi được phân lớp có thể thuộc vào từ hai lớp trở lên.Ví dụ như

có một văn bản hành chính về việc triển khai thực hiện Cuộc vận động "Toàn dân đoàn

Trang 19

kết xây dựng nông thôn mới, đô thị văn minh" vừa thuộc về lĩnh vực nông nghiệp nhưng cũng thuộc về lĩnh vực văn hóa xã hội Trong những trường hợp này, việc sắp xếp một tài liệu vào nhiều lớp là phù hợp với thực tế

1.3 PHÂN LỚP VĂN BẢN

Trong những năm gần đây việc đẩy mạnh ứng dụng công nghệ thông tin trong quản lý hành chính nhà nước đã tạo ra một khối lượng dữ liệu khổng lồ Nên việc tự động phân lớp văn bản là một nhiệm vụ rất quan trọng giúp ích cho đơn vị tổ chức, lưu

trữ, tìm kiếm thông tin trên nguồn tài nguyên lớn này

1.3.1 Khái niệm

Phân lớp văn bản (Text Categorization)[2, 3, 10, 13] là việc phân lớp áp dụng đối với dữ liệu văn bản, tức là phân lớp một văn bản vào một hay nhiều lớp văn bản nhờ một mô hình phân lớp; mô hình này được xây dựng dựa trên một tập hợp các văn bản

đã được gán nhãn từ trước

Hình 1.2 Hoạt động của một bộ phân loại trên một tập các tài liệu

Thông thường, các lớp cho trước là các lĩnh vực nào đó, nhưng cũng có nhiều ứng dụng mà các lớp được thiết lập theo những tiêu chí khác, như phân lớp theo độ

ưu tiên, phân lớp theo chủ đề, phân lớp theo lĩnh vực Hầu hết các bài toán này sẽ tốn rất nhiều thời gian, công sức và đôi khi không chính xác nếu được phân loại một cách thủ công - tức là đọc từng văn bản và gán vào một lớp nào đó Đặc biệt với số lượng tài liệu cần phân lớp cực kỳ lớn như hiện nay thì việc phân lớp thủ công là một điều không thế Phân loại những đối tượng mới vào các lớp bằng phương pháp thủ công gặp phải những khó khăn sau:

Trang 20

- Đối với các lĩnh vực đặc biệt, phân loại các đối tượng mới (như cơ sở dữ liệu

về hành chính, y tế, pháp luật, tài chính, ngân hàng ) vào các lớp cho trước cần có hiểu biết về các lĩnh vực đó

- Phân loại bằng tay đôi khi không chính xác vì quyết định phụ thuộc vào sự hiếu biết và động cơ của người thực hiện

- Quyết định của hai chuyên gia khác nhau có thể nảy sinh bất đồng ý kiến Vì vậy những công cụ để tự động phân lớp văn bản vào các lớp sẽ rất hữu ích với công việc này nhất là khi thông tin tràn ngập như ngày nay Một số phương pháp phân lớp thống kê và kĩ thuật học máy như Bayesian, máy vector hỗ trợ (SVM), K người láng giềng gần nhất, mạng nơron được áp dụng để giải quyết bài toán này

Chính vì những nhược điểm của phương pháp thủ công nên việc xây dựng một

bộ phân lớp văn bản tự động là một điều rất quan trọng và cần thiết, đặc biệt là khi hầu hết các thông tin được lưu trữ điện tử Các kỹ thuật phân lớp văn bản sẽ giúp cho nguồn dữ liệu văn bản được lưu trữ tự động một cách hiệu quả và tìm kiếm một cách nhanh chóng

Phân lớp văn bản được xuất hiện từ những năm 1960, nhưng chỉ 15 năm sau, nó

đã trở thành lĩnh vực nghiên cứu chính trong hệ thống thông tin bởi sự đa dạng của các ứng dụng Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm kiểm thông tin (Information Retrieval), chiết lọc thông tin (Information Extraction), lọc văn bản hoặc tự động phân loại cho các văn bản tới những chủ đề xác định trước Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực hiểu văn bản Phân lớp văn bản có thể được sử dụng để lọc văn bản hoặc một phần văn bản chứa dữ liệu cần tìm

mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên

1.3.2 Định nghĩa phân lớp văn bản:

Phân lớp văn bản là nhiệm vụ đặt một giá trị Boolean cho mỗi cặp (dj,ci) ϵ D×C, trong đó D là tập các văn bản và C={c1,c2…cy} là tập các lớp cho trước

Giá trị T (True) được gán cho cặp (dj ,ci ) có nghĩa là tài liệu dj thuộc lớp ci; Giá trị F (False) tức là tài liệu dj không thuộc lớp ci

Trang 21

Hoặc, phân lớp văn bản là bài toán tìm một hàm Φ : D × C → {T , F} trong đó D

là tập các văn bản và C={c1,c2…cy} là tập các lớp cho trước, hàm Φ : D × C → {T , F} được gọi là bộ phân lớp

Tùy vào bài toán khác nhau, ta có các ràng buộc khác nhau Có thể phân biệt bài toán phân lớp theo hai cách sau:

- Phân lớp văn bản nhị phân/ đa lớp: Bài toán phân lớp văn bản này được gọi là nhị phân nếu |C| = 2, gọi là đa lớp nếu |C| > 2

- Phân lớp văn bản đơn nhãn/ đa nhãn: Bài toán phân lớp văn bản được gọi là đơn nhãn nếu mỗi tài liệu được gán vào chính xác một lớp Một bài toán phân lớp văn bản được gọi là đa nhãn nếu một tài liệu có thể được gán nhiều hơn một nhãn

Về mặt lý thuyết, thuật toán phân lớp nhị phân có thể sử dụng cho bài toán phân lớp đa lớp bằng cách chuyển bài toán đa lớp {c1,c2,….,c|c|} thành |C| bài toán nhị phân {ci,c̅} với i = 1,….,|C| Hơn nữa thuật toán phân lớp đa lớp có thể được sử dụng để giải quyết bài toán phân lớp đa nhãn

Có thể nói, bài toán phân lớp nhị phân là bài toán rất quan trọng trong các ứng dụng của phân lớp văn bản Giải quyết bài toán phân lớp nhị phân cũng có nghĩa là giải quyết bài toán phân lớp đa lớp

1.3.3 Mô hình phân lớp văn bản

Phân lớp văn bản được các nhà nghiên cứu định nghĩa thống nhất như là việc gán tên các chủ đề (tên lớp/ nhãn lớp) đã được xác định cho trước vào các văn bản Text dựa trên nội dung của nó Phân lớp văn bản được sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin (Information Retrieval), trích lọc thông tin (Information Extraction), lọc văn bản và tự động gán cho các văn bản vào những chủ đề xác định trước Để phân loại văn bản, người ta sử dụng phương pháp học máy có giám sát Tập dữ liệu được chia ra làm hai tập là tập huấn luyện và tập kiểm tra, trước hết phải xây dựng mô hình thông qua các mẫu học bằng các tập huấn luyện, sau đó kiểm tra sự chính xác bằng tập

dữ liệu kiểm tra

Trang 22

Hình 1.3 Sơ đồ khung một hệ thống phân lớp văn bản

1.3.4 Các bước xây dựng bộ phân lớp văn bản

Quá trình phân lớp dữ liệu thường gồm hai bước: tạo bộ phân lớp và sử dụng bộ phân lớp đó để phân lớp dữ liệu

- Bước 1: Một bộ phân lớp được xây dựng dựa trên việc phân tích các đối tượng

dữ liệu đã được gán nhãn từ trước Tập các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training data set) Các nhãn của tập dữ liệu huấn luyện được xác định bởi con người trước khi xây dựng bộ phân lớp, phương pháp này được gọi là phương pháp học có giám sát (supervised learning) Trong bước này phải tính độ chính xác của

bộ phân lớp Nếu độ chính xác chấp nhận được, bộ phân lớp được sử dụng để xác định nhãn lớp cho các dữ liệu mới

Hình 1.4 Mô tả bước xây dựng bộ phân lớp

Trang 23

Hiện nay có rất nhiều phương pháp phân lớp dữ liệu để giải quyết bài toán phân lớp tùy thuộc vào cách thức xây dựng bộ phân lớp như phương pháp cây quyết định, phương pháp k-láng giềng gần nhất, phương pháp Bayer, phương pháp SVM…

- Bước 2: Sử dụng bộ phân lớp đã được xây dựng để phân lớp cho dữ liệu mới Như vậy, thuật toán phân lớp là một ánh xạ từ miền dữ liệu đã có sang một miền có giá trị cụ thể của thuộc tính lớp, dựa trên giá trị các thuộc tính của dữ liệu

1.3.5 Các bước tiền xử lý dữ liệu

Trong quy trình phân loại văn bản, công việc xử lý dữ liệu trước khi đưa vào các

mô hình là rất cần thiết, bước này là quá trình xử lý dữ liệu thô/gốc (raw/original data) nhằm cải thiện chất lượng dữ liệu (quality of the data) và từ đó, cải thiện chất lượng của kết quả đầu ra Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công việc như:

Filtering Attributes: Chọn các thuộc tính phù hợp với mô hình

Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hình

Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier) Transformation: Chuyển đổi dữ liệu cho phù hợp với các mô hình như chuyển đổi dữ liệu từ dạng số (numeric) qua định danh (nomial) hay thứ tự (ordinal) Như vậy, việc làm sạch dữ liệu là một bước quan trọng trong quá trình tìm kiếm tri thức vì dữ liệu không có chất lượng thì kết quả đầu ra cũng không có chất lượng

Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng một vài

mô hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp chẳn hạn) thì bạn phải thực hiện việc rời rạc hóa dữ liệu

Như vậy tiền xử lý dữ liệu là quá trình biểu diễn văn bản thành một dạng biểu diễn logic mà thuật toán có thể xử lý được (ví dụ, dạng biểu diễn vector của văn bản)

1.3.6 Phương pháp tách từ tiếng Việt

Tách từ là một quá trình xử lý nhằm mục đích xác định ranh giới của các từ trong câu văn, cũng có thể hiểu đơn giản rằng tách từ là quá trình xác định các từ đơn, từ ghép… có trong câu Đối với xử lý ngôn ngữ, để có thể xác định cấu trúc ngữ pháp của câu, xác định từ loại của một từ trong câu, yêu cầu nhất thiết đặt ra là phải xác

Trang 24

định được đâu là từ trong câu Vấn đề này tưởng chừng đơn giản với con người nhưng đối với máy tính, đây là bài toán rất khó giải quyết

Chính vì lý do đó tách từ được xem là bước xử lý quan trọng đối với các hệ thống Xử Lý Ngôn Ngữ Tự Nhiên, đặc biệt là đối với các ngôn ngữ thuộc vùng Đông

Á theo loại hình ngôn ngữ đơn lập, ví dụ: tiếng Trung Quốc, tiếng Nhật, tiếng Thái, và tiếng Việt Với các ngôn ngữ thuộc loại hình này, ranh giới từ không chỉ đơn giản là những khoảng trắng như trong các ngôn ngữ thuộc loại hình hòa kết như tiếng Anh…,

mà có sự liên hệ chặt chẽ giữa các tiếng với nhau, một từ có thể cấu tạo bởi một hoặc nhiều tiếng Vì vậy đối với các ngôn ngữ thuộc vùng Đông Á, vấn đề của bài toán tách

từ là khử được sự nhập nhằng trong ranh giới từ

Hiện nay có rất nhiều phương pháp tách từ như: So khớp từ dài nhất (Longest Matching); So khớp cực đại (Maximum Matching); Mô hình Markov ẩn (Hidden Markov Models- HMM); Học dựa trên sự cải biến (Transformation-based Learning – TBL); Chuyển đổi trạng thái trọng số hữu hạn (Weighted Finite State Transducer – WFST); Độ hỗn loạn cực đại (Maximum Entropy – ME); Máy học sử dụng vectơ hỗ trợ (Support Vector Machines); Trường xác xuất có điều kiện (CRFs), ngoài ra còn có thể kết hợp những phương pháp trên

1.3.7 Loại bỏ từ dừng

Để nâng cao tốc độ và độ chính xác phân loại, ta phải loại bỏ các từ không có ý nghĩa cho phân loại văn bản thông thường những từ này là những từ có số lần xuất hiện quá ít hoặc quá nhiều Ví dụ như: “và, hoặc, cũng, là, bởi…” Tuy vậy việc loại

bỏ những từ này có thể không làm giảm đáng kể số lượng các đặc trưng Với số lượng các đặc trưng lớn bộ phân loại sẽ học chính xác tập tài liệu huấn luyện, nhưng trong nhiều trường hợp vẫn cho kết quả dự đoán kém chính xác đối với các tài liệu mới Để tránh trường hợp này, ta phải có một tập dữ liệu mẫu đủ lớn để huấn luyện bộ phân loại Tuy vậy, thu thập tập dữ liệu mẫu đủ lớn tương ứng với số lượng đặc trưng thường khó thực hiện được trong thực tế Do đó để bài toán có hiệu quả thực tiễn, cần phải làm giảm số lượng đặc trưng

Hiện nay có nhiều phương pháp chọn đặc trưng hiệu quả tuy nhiên với thời lượng

Trang 25

cho phép chỉ trình bày một số phương pháp đó là phương pháp lượng tin tương hỗ và phương pháp tính tần số tương đối (Relative Frequency Count- RFC)

1.3.6.1 Phương pháp lượng tin tương hỗ

Phương pháp này sử dụng độ đo lượng tin tương hỗ giữa mỗi từ và mỗi lớp tài liệu để chọn các từ tốt nhất Lượng tin tương hỗ được tính như sau:

1.3.6.2 Phương pháp tính tần số tương đối

Cách tính tần số tương đối cho từ ghép có i tiếng được định nghĩa như sau:

𝑟𝑖 =𝑓𝑖

Trong đó, fi là số lần xuất hiện của từ ghép có i tiếng (ith n-gram) trong tập ngữ liệu, K là số lần xuất hiện trung bình của một từ Nói cách khác, fi được bình thường hóa bằng cách chia cho K để lấy tỉ lệ liên quan Cách tính RFC sẽ ưu tiên cho những từ xuất hiện với tần số rất cao và loại bỏ những từ xuất hiện trong từ điển với tần số thấp RFC được dùng như một phương pháp hỗ trợ cho việc tách từ

1.3.8 Phương pháp biểu diễn văn bản

Phương pháp biểu diễn văn bản đóng vai trò rất lớn trong bài toán phân lớp văn bản Một văn bản được hình thành từ tập hợp các từ, trong đó mỗi từ được xem là một thuộc tính hoặc một đặc trưng và văn bản đó tương ứng với một vector thuộc tính Đôi khi chỉ cần một từ đơn cũng đã mang lại được ý nghĩa ví dụ, sách, bút, tre, gỗ….Tuy nhiên các thuộc tính có thể được biểu diễn dưới dạng các cụm hoặc chuỗi các từ, như vậy sinh ra nhiều thuộc tính phức tạp tuy nhiên nó mang lại nhiều ý nghĩa hơn Ví dụ, cụm từ “Thành phố bên sông Hàn” mang lại nhiều thông tin hơn từng từ riêng biệt Trong thực tế, sử dụng mô hình ngôn ngữ N-gram sinh ra có quá nhiều số lượng thuộc tính làm cho bài toán xử lý rất khó khăn Có rất nhiều nghiên cứu về cách biểu diễn văn bản khác nhau tuy nhiên để đạt hiệu quả tốt thì không có cách biểu diễn văn bản nào tốt hơn cách biểu diễn bằng tập các từ riêng biệt được trích rút ra từ văn bản gốc

Trang 26

Có nhiều cách biểu diễn văn bản tuy nhiên với thời lượng cho phép chỉ trình bày một số mô hình phổ biến

1.3.7.1 Mô hình Boolean

Mô hình Boolean là mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất hai giá trị đúng và sai Hàm f tương ứng với từ khóa ti sẽ cho ra giá trị đúng nếu và chỉ nếu từ khóa ti xuất hiện trong văn bản đó Giả sử có một tập dữ liệu gồm n

văn bản, D = {d 1 , d 2 , … d n } Mỗi văn bản được biểu diễn dưới dạng một vector gồm m

từ khóa T = {t 1 , t 2 , … t m } Gọi W = {w ij } là ma trận trọng số, trong đó w ij là giá trị trọng

số của từ khóa t i trong văn bản d j w ij = 1 nếu t i có mặt trong d j và bằng 0 nếu ngược lại 1.3.7.2 Mô tình tính tần xuất

Một mô hình khác là tính số lần xuất hiện của của từ khóa trong một văn bản gọi phương pháp dựa trên tần số từ khóa (TF – Term Frequency) phương pháp này được tính theo công thức ba công thức sau:

Gọi f ij là số lần xuất hiện của từ khóa t i trong văn bản d j , khi đó w ij được tính theo

một trong ba công thức trên Với phương pháp này, trọng số w ij tỷ lệ thuận với số lần

xuất hiện của từ khóa t i trong văn bản d j Nếu số lần xuất hiện từ khóa t i trong văn bản

d j càng lớn chứng tỏ văn bản d j càng phụ thuộc vào từ khóa t i Ví dụ một văn bản mang nhiều từ khóa “CNTT” chứng tỏ văn bản đó thuộc về lĩnh vực tin học

Tuy nhiên theo phương pháp trên không phải lúc nào cũng đúng Ví dụ trong một văn bản từ khóa “như vậy” xuất hiện nhiều lần trong văn bản tuy nhiên nó không mang lại nhiều ý nghĩa như tần xuất xuất hiện của nó Để khắc phục nhược điểm của phương pháp TF một phương pháp khác ra đời đó là phương pháp IDF (Inverse Document) hay còn gọi phương pháp dựa trên nghịch đảo tần số văn bản

Trong phương pháp IDF, giá trị wij được tính theo công thức sau:

𝑤𝑖𝑗 = {log

𝑚

ℎ𝑖 = log(𝑚) − log (ℎ𝑖) 𝑛ế𝑢 𝑡𝑖 𝑥𝑢ấ𝑡 ℎ𝑖ệ𝑛 𝑡𝑟𝑜𝑛𝑔 𝑑𝑗

0 𝑛ế𝑢 𝑛𝑔ượ𝑐 𝑙ạ𝑖 (1.6)

Trang 27

Trong đó m là số lượng văn bản h i là số lượng văn bản có từ khóa t i xuất hiện

Trong công thức này trọng số w ij được tính dựa trên độ quan trọng của từ khóa t i

trong văn bản d j Nếu số lần xuất hiện của t i càng ít trong văn bản thì trọng số t i đối với

văn bản d j càng lớn hay nó là điểm quan trọng để phân biệt văn bản d j với các văn bản khác

Ngoài hai phương pháp TF và IDF còn một phương pháp khác đó là sự kết hợp của hai phương pháp trên đó là phương pháp TF – IDF (term frequency – inverse document frequency) Phương pháp này được tính theo công thức:

𝑤𝑖𝑗 = {[1 + log(𝑓𝑖𝑗)] log (

𝑚

ℎ𝑖) 𝑛ế𝑢 𝑓𝑖𝑗 ≥ 1

0 𝑛ế𝑢 𝑛𝑔ượ𝑐 𝑙ạ𝑖 (1.7)

Đây là phương pháp kết hợp các ưu điểm từ hai phương pháp trên Trọng số w ij

được tính bằng tần số xuất hiện của từ khóa t i trong văn bản d j và độ hiếm của từ khóa

t i trong toàn bộ CSDL

1.3.7.3 Mô hình không gian vector

Mô hình không gian vector là một mô hình đại số (algebraic model) thể hiện thông tin văn bản như một vector, các phần tử của vector này thể hiện mức độ quan trọng của một từ và cả sự xuất hiện hay không xuất hiện (Bag of words) của nó trong một văn bản

Mô hình này biểu diễn văn bản như những điểm trong không gian Euclid

n-chiều, mỗi chiều tương ứng với một từ trong tập hợp các từ Phần tử thứ i, là d i của

vector văn bản cho biết số lần mà từ thứ i xuất hiện trong văn bản Sự tương đồng của

hai văn bản được định nghĩa là khoảng cách giữa các điểm, hoặc là góc giữa những vector trong không gian

Mỗi từ trong không gian vector sẽ có một trọng số, có nhiều phương pháp xếp hạng khác nhau Mặc dù đơn giản, nhưng mô hình không gian vector và những biến thể của nó hiện nay vẫn là cách phổ biến để biểu diễn văn bản trong Data mining và Information retrieval Tuy nhiên, một trong những điểm yếu của vector space model số chiều lớn (high-dimensonal), có khoảng cỡ chục triệu chiều trong không gian vector nếu như chúng ta áp dụng nó vào web search engine

Trang 28

Hình 1.5 Mô hình không gian vector[27]

Ví dụ trong một văn bản, sự xuất hiện của một từ 10 lần thì tài liệu đó được coi là phù hợp hơn tài liệu mà từ đó chỉ xuất hiện 1 lần Nhưng không phải là phù hợp hơn tài liệu kia 10 lần Sự phù hợp không tỷ lệ thuận với số lần xuất hiện của từ đó trong một tài liệu

1.4 CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN VẤN ĐỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN VÀ PHÂN LỚP VĂN BẢN

Hiện nay có rất nhiều công trình nghiên cứu trong và ngoài nước về học máy để ứng dụng trong công việc phân lớp văn bản như:

Trang 29

Bài báo trình bày về việc sử dụng và cải tiến kỹ thuật Support Vector Machines (SVM) cho việc học máy có hiệu quả trong việc phân loại văn bản

- Bài báo “Text Catergorization Base on Regulazired Linear Classification Methods” của nhóm tác giải Tong Zhang và Franks J.Oles, Mathematical Sciences Department, IBM T.J Watson Research Center, NewYork[13]

Bài báo trình bày phương pháp phân loại văn bản tuyến tính dựa vào kỹ thuật Linear Least Squares Fit, Logistic Regression, SVM

* Nói chung hầu hết các đề tài được nêu ở trên đều tập trung vào việc học máy và

xử lý ngôn ngữ tiếng Anh Việc áp dụng cho các văn bản sử dụng ngôn ngữ tiếng Việt thì chưa mang lại độ chính xác cao như mong đợi

Trong nước cũng có rất nhiều bài báo khoa học và công trình nghiên cứu về lĩnh vực này như:

- Bài báo Nguyễn Linh Giang, Nguyễn Mạnh Hiển (2004)[1], Phân loại văn bản tiếng Việt với bộ phân loại vector hỗ trợ SVM, Bài báo khoa học, Hà Nội

Bài báo trình bày các nghiên cứu về Vấn đề phân loại tài liệu tiếng Việt bằng cách sử dụng Hỗ trợ Máy Vector (SVM)

- Luận văn Thạc sỹ khoa học “Phân loại văn bản bằng phương pháp Support Vector Machines” Luận văn thạc sĩ khoa học Công nghệ thông tin, trường Đại học Bách Khoa Hà nội, Hà nội năm 2006, tác giả Lương Thị Minh Hồng

Luận văn này nghiên cứu đề xuất ứng dụng phương pháp phân loại văn bản SVM

và thực hiện phân loại bằng phương pháp bên trong Oracle 10g với các bộ dữ liệu đa lớp và đa nhãn

- Luận văn thạc sỹ khoa học máy tính “ Nghiên cứu lý thuyết Naive Bayes và ứng dụng trong phân loại văn bản tiếng Việt” Luận văn thạc sỹ khoa học máy tính, trường Đại học Thái Nguyên năm 2015, tác giả Nguyễn Thị Thùy Dương

Luận văn trình bày phương pháp lựa chọn dữ liệu, lưu trữ và xây dựng hệ thống ứng dụng tra cứu văn bản tiếng Việt dựa trên Naive Bayes, đánh giá phương pháp được cài đặt với tập dữ liệu văn bản tiếng Việt

Trang 30

- Luận văn thạc sỹ khoa học máy tính “Phân loại tự động văn bản trong hệ thống điều hành tác nghiệp tại Sở Thông tin truyền thông Quảng Nam” Luận văn thạc sỹ khoa học máy tính, trường Đại học Đà Nẵng năm 2011, tác giả Nguyễn Thị Thúy Kiều

* Mỗi đề tài nghiên cứu trên có những ưu điểm nhất định, tuy nhiên phạm vi xử

lý văn bản của nó quá rộng, không xác định cụ thể loại văn bản nào Do đó, kết quả cuối cùng độ chính xác chưa được đồng nhất và khó để đánh giá

Qua tìm hiểu nghiên cứu, Trong chương tiếp theo dựa trên những khái niệm tổng quan đã trình bày tại chương 1 để đưa ra phương pháp nghiên cứu ứng dụng thuật toán Support Vector Machines (SVM) trong phân loại văn bản hành chính

Trang 31

2.1 KHÁI NIỆM VỀ HỌC MÁY

Học máy (ML) là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu

và xây dựng các kỹ thuật cho phép các hệ thống có thể “học” tự động từ dữ liệu để giải quyết những vấn đề cụ thể Học máy là tạo ra các phương pháp và chương trình để cho máy tính có thể giải quyết các vấn đề giống như con người Ví dụ làm như thế nào các

hệ thống máy tính có thể “học” cách phân loại văn bản vào những lĩnh vực tương ứng

đã cho trước

2.2 BỘ PHÂN LOẠI SUPPORT VECTOR MACHINES (SVM)

Thuật toán vector hỗ trợ (Support Vector Machines - SVM) được Corters và Vapnik giới thiệu vào năm 1995 SVM rất hiệu quả để giải quyết các bài toán với dữ liệu có số chiều lớn như các vector biểu diễn văn bản Thuật toán SVM ban đầu chỉ được thiết kế để giải quyết bài toán phân lớp nhị phân tức là số lớp hạn chế là hai lớp Hiện nay, SVM được đánh giá là bộ phân lớp chính xác nhất cho bài toán phân lớp văn bản, bởi vì đó là bộ phân lớp tốc độ rất nhanh và hiệu quả đối với bài toán phân lớp văn bản

Về mặt lý thuyết, thuật toán phân lớp nhị phân này cũng có thể sử dụng cho bài toán phân lớp đa lớp bằng cách chuyển bài toán đa lớp thành bài toán nhị phân Tuy nhiên, đối với bài toán phân lớp văn bản sử dụng phương pháp SVM thì việc lựa chọn thuộc tính cho từng phân lớp lại là vấn đề cực kỳ quan trọng, nó quyết định đến hiệu quả của phân lớp

Trong những năm gần đây, SVM được biết đến như một hướng tiếp cận phân lớp hiệu quả và đang được áp dụng rộng rãi trong nhiều ứng dụng thực tế Ưu điểm của

Trang 32

SVM là khả năng phân lớp với độ chính xác cao, điều này được đảm bảo bởi các tính chất của siêu phẳng tối ưu và cách sử dụng hàm nhân (kernel) để tối thiểu hóa rủi ro ước lượng Nhiều thử nghiệm thực tế cho thấy, phương pháp SVM có khả năng phân loại khá tốt đối với bài toán phân loại văn bản cũng như trong nhiều ứng dụng khác (như nhận dạng chữ viết tay, phát hiện mặt người trong các ảnh, ước lượng hồi quy,…)

Mục đích của thuật toán SVM là tìm ra hàm phân lớp hiệu quả nhất để phân biệt các thành phần của các lớp trong việc huấn luyện dữ liệu Ví dụ trong tập dữ liệu phân chia tuyến tính, hàm phân loại tuyến tính tương ứng với một siêu phẳng f(x) phân chia

2 tập hợp Khi hàm này được xác định thì bất kỳ một thể hiện xn mới sẽ được phân lớp đơn giản bằng việc xét dấu của hàm f(xn) nếu xn thuộc về tập các giá trị dương thì f(xn)

> 0 ngược lại thì thuộc tập các giá trị âm

Hình 2.1 Mô hình SVM

Một thuật toán huấn luyện được đánh giá là tốt nếu sau quá trình huấn luyện, hiệu suất tổng quát hóa của bộ phân loại nhận được cao Tuy nhiên, hiệu suất lại phụ thuộc vào hai tham số là sai số huấn luyện và năng lực của máy học Trong đó sai số huấn luyện là tỷ lệ lỗi phân loại trên tập dữ liệu huấn luyện, còn năng lực của máy học được xác định bằng kích thước VC (Vapnik – Chervonenkis)

Nhìn chung thuật toán SVM là một thuật toán phân loại tuyến tính thích hợp trong phân loại văn bản nhiều chủ đề SVM có ưu điểm là có thể giải quyết tốt với các không gian đặc trưng lớn, cả về tính chính xác của các thuật ngữ trong kết quả phân

Trang 33

loại và hiệu quả huấn luyện và các giải thuật phân loại

Ta áp dụng phương pháp SVM vào chương trình phân loại với cách tiếp cân SVM là tìm siêu phẳng phân cách sao cho khoảng cách lề giữa hai lớp mẫu huấn luyện đạt cực đại

2.2.1 Siêu phẳng tối ưu

Ý tưởng chính của SVM [28]là tìm một siêu phẳng phân cách 𝐻: 𝑤 𝑥 + 𝑏 = 0

H: w x + b = 0 để tách tập mẫu thành hai lớp sao cho khoảng cách lề (margin) giữa hai lớp đạt cực đại Để xây dựng siêu phẳng phân cách có lề cực đại, xây dựng các vector hỗ trợ và các siêu phẳng song song với siêu phẳng phân cách và gần vector hỗ trợ nhất, đó là các hàm:

Hình 2.2 Biểu diễn siêu phẳng lề cực đại cho bộ phân lớp SVM trên hai lớp

Trong một bài toán phân lớp nhị phân để tính được khoản cách đại số của một

Trang 34

mẫu huấn luyện (xi, yi) tới siêu phẳng {𝑥 ∈ 𝑅𝐷|𝑓(𝑥) = 𝑊𝑡 𝑥 + 𝑏 = 0} là:

δ̂f(xi, yi) = yi(WT xi + b) (2.5)

Để phân lớp có độ tin cậy và chính xác cao thì cần một khoảng cách đại số càng rộng càng tốt, như vậy bài toán luôn có ý tưởng f(xi) là một số dương càng lớn càng tốt Tuy nhiên, khoảng cách đại số chưa phải là một thước đo độ tin cậy tốt Nếu thay

w bởi 2w và b bởi 2b thì hàm quyết định phân lớp cũng không thay đổi vì sign(2wT x + 2b) = sign(WT x + b) Bằng cách thay đổi tỷ lệ của w và b, có thể tạo

ra khoảng cách đại số với độ rộng tùy ý mà không làm thay đổi kết quả của việc phân lớp Vì vậy, có thể đặt ||w||2=1, tức là thay (w,b) bằng (w/||w||2,b/||w||2) Trong trường hợp này, khoảng cách đại số trở thành khoảng cách hình học, đây chính là khoảng cách Euclide từ một điểm tới siêu phẳng

Để tính khoảng cách hình học của một mẫu huấn luyện (x i , y i ) tới siêu phẳng

𝛿𝑓 = min

Hình 2.3 Siêu phẳng tách tuyến tính

Trang 35

Mục tiêu của SVM là chuyển tập mẫu từ không gian biểu diễn Rn của chúng sang một không gian Rd có số chiều lớn hơn Trong không gian Rd, tìm một siêu phẳng tối phân cách với khoảng cách lề cực đại:

𝑓∗ = arg max

Như vậy theo hình 2.3 ta tìm hai siêu phẳng H1 , H2 song song với H sao cho khoảng cách giữa H1 và H2 đạt cực đại

Trong thuật toán huấn luyện theo cơ bản chỉ là tìm một hàm tuyến tính 𝑓(𝑥) =

𝑊𝑇 𝑥 + 𝑏 với một khoảng cách lề lớn nhất có thể Giả sử khoảng cách đại số từ các mẫu huấn luyện đến siêu phẳng đều lớn hơn hoặc bằng hằng số 𝛿 = 1, tức là

𝑊𝑇 𝑥𝑖 + 𝑏 ≥ 1, với yi = +1 (2.9)

𝑊𝑇 𝑥𝑖 + 𝑏 ≤ −1, với yi = -1 (2.10)

Ta có thể viết gọn hơn:

𝑦𝑖(𝑊𝑇 𝑥𝑖+ 𝑏) ≥ 1 với i = 1,… l (2.11) Khoảng cách của một điểm nằm trên H1 hoặc H2 tới H là |𝑊

𝑇 𝑥+𝑏|

||𝑊||2 = ||𝑊||1

2 nên khoảng cách giữa H1 và H2 là 2

||𝑊||2 Như thế, có thể tìm siêu phẳng với khoảng cách lề cực đại bằng cách cực tiểu ||𝑊||2 = 𝑊𝑇 𝑊 sao cho thỏa mãn ràng buộc

𝑦𝑖(𝑊𝑇 𝑥𝑖+ 𝑏) ≥ 1 với i = 1,…, l Từ đó , bài toán tìm siêu phẳng tối ưu có thể phát biểu lại như sau:

Nếu tập dữ liệu huấn luyện không khả tách tuyến tính thì ta có thể giải quyết theo hai cách Cách thứ nhất sử dụng một mặt siêu phẳng lề mềm; cách thứ hai sử dụng một ánh xạ phi tuyến

Trang 36

2.2.2 Phân lớp mềm

Trong bài toán thực tế, chúng ta thường gặp các tập dữ liệu không khả tách tuyến tính nên việc áp dụng phân lớp với khoảng cách lề cực đại là không khả thi Như thế, để xây dựng một máy học phân lớp với khoảng cách lề cực đại phù hợp với các loại dữ liệu bị nhiễu, cần phải nới lỏng ràng buộc của 𝑦𝑖(𝑊𝑇 𝑥𝑖+ 𝑏) ≥ 1, 𝑖 =

1, … , 𝑙 Chúng ta không ép buộc dữ liệu phải nằm hoàn toàn về hai phía của H1 và H2

Mà là cho phép một số mẫu huấn luyện nằm về phía sai của mặt siêu phẳng phân tách hoặc vẫn ở vị trí đúng nhưng rơi vào vùng giữa mặt siêu phẳng phân tách và mặt siêu phẳng hỗ trợ tương ứng

Trang 37

Hằng số C được dùng để điều chỉnh tầm quan trọng giữa margin và sự phạt lỗi Hằng

số này được xác định từ trước bởi người lập trình hoặc có thể được xác định bởi kiểm tra chéo (cross-validation)

Như vậy Nếu C nhỏ, việc sự bị phạt cao hay thấp không gây ảnh hưởng nhiều tới giá trị của hàm mục tiêu, thuật toán sẽ điều chỉnh sao cho ||𝑤||22 là nhỏ nhất, tức margin là lớn nhất, điều này sẽ dẫn tới ∑𝑙 ξ𝑖

𝑖=1 sẽ lớn theo Ngược lại, nếu C quá lớn,

để hàm mục tiêu đạt giá trị nhỏ nhất, thuật toán sẽ tập trung vào làm giảm ∑𝑙 ξ𝑖

𝑖=1 Trong trường hợp C rất rất lớn và hai lớp là phân tách tuyến tính, ta sẽ thu được

∑𝑙 ξ𝑖 = 0

𝑖=1 Chú ý rằng giá trị này không thể nhỏ hơn 0 Điều này đồng nghĩa với việc không có điểm nào phải bị phạt, tức ta thu được nghiệm cho lề cứng (Hard Margin) SVM Nói cách khác, Hard Margin SVM chính là một trường hợp đặc biệt của lề mềm (Soft Margin) SVM

Theo (2.14) với m ≥ 1, việc tìm siêu phẳng tối ưu sẽ có dạng bài toán quy hoạch lồi, trường hợp đặc biệt với m = 1 ta có bài toán quy hoạch toàn phương và trong

trường hợp này bài toán tìm siêu phẳng tối ưu có thêm một lợi thế là cả 

𝑖 lẫn các nhân tử Lagrange đều không xuất hiện trong bài toán đối ngẫu của Wolfe

Từ đó, bài toán tìm siêu phẳng tối ưu được phát biểu lại như sau:

Để giải bài toán tối ưu lồi có ràng buộc được trình bày tóm tắt như sau:

Cho bài toán tối ưu với tập lồi 𝛺 ⊆ 𝑅𝐷

min 𝑓(𝑤), 𝑤 ∈ 𝛺 (2.19)

Trang 38

toán gốc min 𝑓(𝑤), 𝑤 ∈ 𝛺 là tồn tại 𝛼∗ và 𝛽∗ sao cho

𝛺 là hàm lồi và gi, hi là các hàm tuyến tính thì điều kiện cần và đủ để tồn tại nghiệm

w* là phải tồn tại (𝛼∗, 𝛽∗)

Bài toán gốc có thể biến đổi thành bài toán đối ngẫu đơn giản hơn bằng cách cho đạo hàm của hàm Lagrange triệt tiêu theo các biến của bài toán gốc rồi thay thế các kết quả thu được ngược trở lại hàm Lagrange thì sẽ loại bỏ được các biến của bài toán gốc Theo định lý Kuhn-Tucker ta quay lại bài toán tìm siêu phẳng tối ưu, hàm Lagrange tương ứng của nó là:

Ngày đăng: 24/04/2022, 15:17

HÌNH ẢNH LIÊN QUAN

DANH MỤC CÁC BẢNG Số hiệu - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
hi ệu (Trang 8)
DANH MỤC CÁC HÌNH VẼ Số hiệu - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
hi ệu (Trang 9)
Hình 1.1. Mơ hình thuật tốn học máy cĩ giám sát - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 1.1. Mơ hình thuật tốn học máy cĩ giám sát (Trang 15)
Hình 1.2. Hoạt động của một bộ phân loại trên một tập các tài liệu - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 1.2. Hoạt động của một bộ phân loại trên một tập các tài liệu (Trang 19)
Hình 1.4. Mơ tả bước xây dựng bộ phân lớp - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 1.4. Mơ tả bước xây dựng bộ phân lớp (Trang 22)
Hình 1.3. Sơ đồ khung một hệ thống phân lớp văn bản - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 1.3. Sơ đồ khung một hệ thống phân lớp văn bản (Trang 22)
Hình 1.5. Mơ hình khơng gian vector[27] - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 1.5. Mơ hình khơng gian vector[27] (Trang 28)
Hình 2.1. Mơ hình SVM - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 2.1. Mơ hình SVM (Trang 32)
Hình 2.2. Biểu diễn siêu phẳng lề cực đại cho bộ phân lớp SVM trên hai lớp - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 2.2. Biểu diễn siêu phẳng lề cực đại cho bộ phân lớp SVM trên hai lớp (Trang 33)
Để tính khoảng cách hình học của một mẫu huấn luyện (x i, yi) tới siêu phẳng - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
t ính khoảng cách hình học của một mẫu huấn luyện (x i, yi) tới siêu phẳng (Trang 34)
Hình 2.4. Phân lớp mềm - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 2.4. Phân lớp mềm (Trang 36)
Hình 2.5. Ánh xạ dữ liệu vào khơng gian khác với số chiều cao hơn - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 2.5. Ánh xạ dữ liệu vào khơng gian khác với số chiều cao hơn (Trang 40)
2.2.3. Trường hợp phân tách phi tuyến - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
2.2.3. Trường hợp phân tách phi tuyến (Trang 40)
Hình 3.1. Mơ hình bài tốn phân lớp văn bản dữ liệu văn bản hành chính - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Hình 3.1. Mơ hình bài tốn phân lớp văn bản dữ liệu văn bản hành chính (Trang 54)
Bảng 3.2. Văn bản sau khi qua bộ tách từ - Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Bảng 3.2. Văn bản sau khi qua bộ tách từ (Trang 55)

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

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