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

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

91 5 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

Tiêu đề Nghiên cứu phương pháp học máy có giám sát để phân loại văn bản tại văn phòng tỉnh Quảng Ngãi
Tác giả Tơ Trần Vân Thảo
Người hướng dẫn TS. Nguyễn Thị Ngọc Anh
Trường học Trường Đại học Sư Phạm Đà Nẵng
Chuyên ngành Hệ thống thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2019
Thành phố Đà Nẵng
Định dạng
Số trang 91
Dung lượng 14,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

Tĩm tắt Luận văn này đi sâu vào nghiên cứu tổng quan về phân lớp và phân loại văn bản tiếng việt với bài tốn được áp dụng cho việc phân loại văn bản hành chính tại văn phịng tỉnh Quảng

Trang 1

TÔ TRẦN VÂN THẢO

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

CÓ GIÁM SÁT ĐỂ PHÂN LOẠI VĂN BẢN TẠI

VĂN PHÒNG TỈNH QUẢNG NGÃI

LUẬN VĂN THẠC SĨ

HỆ THỐNG THÔNG TIN

Đà Nẵng - Năm 2019

Trang 2

TÔ TRẦN VÂN THẢO

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

CÓ GIÁM SÁT ĐỂ PHÂN LOẠI VĂN BẢN TẠI

VĂN PHÒNG TỈNH QUẢNG NGÃI

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

Trang 3

Tôi xin cam đoan:

Tôi cam đoan đây là công trình nghiên cứu của bản thân

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

Tô Trần Vân Thảo

Trang 4

Lời đầu tiên tôi xin gửi lời cảm ơn chân thành đến các quý thầy cô giáo, Khoa chuyên ngành Công nghệ thông tin, Trường Đại học Sư Phạm đã tận tình giảng dạy, truyền đạt những kiến thức, kinh nghiệm quý báu trong suốt thời gian tôi theo học tại chương trình Các kiến thức, kinh nghiệm quý báu của các thầy cô giáo không chỉ giúp cá nhân tôi hoàn thiện hệ thống kiến thức trong học tập mà còn giúp tôi ứng dụng các kiến thức đó trong công việc hiện tại

Đặc biệt, tôi xin gởi lời cảm ơn chân thành và sâu sắc nhất đến cô giáo của tôi

là TS Nguyễn Thị Ngọc Anh, người Thầy đã tận tình hướng dẫn và tạo điều kiện

tốt nhất để tôi hoàn thành luận văn này

Tôi cũng xin được bày tỏ tình cảm với gia đình, đồng nghiệp, bạn bè đã tạo điều kiện để tôi có thể dành thời gian cho khóa học Xin chân thành cảm ơn các anh chị em trong lớp K34 đã luôn hỗ trợ tôi trong quá trình học tập để có được kết quả như ngày hôm nay, tôi sẽ nhớ mãi về lớp K34 thân thương này

Tuy có nhiều cố gắng, nhưng chắc chắn luận văn không tránh khỏi những thiếu sót nhất định Tôi rất mong nhận được ý kiến đóng góp quý báu của các quý thầy cô giáo và các anh chị, các bạn để luận văn ngày càng được hoàn thiện hơn Trân trọng cảm ơn!

Đà Nẵng, ngày tháng năm 2019

Tác giả

TÔ TRẦN VÂN THẢO

Trang 5

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

CĨ GIÁM SÁT ĐỂ PHÂN LOẠI VĂN BẢN TẠI VĂN PHỊNG TỈNH QUẢNG NGÃI

Nghành: Hệ Thống Thơng Tin

Họ tên học viên: Tơ Trần Vân Thảo

Người hướng dẫn khoa học: TS Nguyễn Thị Ngọc Anh

Cơ sở đào tạo: Trường Đại học Sư Phạm – ĐH Đà Nẵng

Tĩm tắt

Luận văn này đi sâu vào nghiên cứu tổng quan về phân lớp và phân loại văn bản tiếng việt với bài tốn được áp dụng cho việc phân loại văn bản hành chính tại văn phịng tỉnh Quảng Ngãi.Chương trình được viết trên ngơn ngữ c# trong bộ Microsoft Visual Studio Community 2017, tích hợp module tiền xử lý văn bản và module phân lớp (SVM) Cụ thể, luận văn thực hiện những bước cơ bản sau: nghiên cứu một số thuật tốn phân loại như KNN, Nạve Bayes và SVM từ đĩ đưa ra bài tốn áp dụng vào phân loại văn bản trong lĩnh vực hành chính; xây dựng từ điển áp dụng vào việc tách từ; xây dựng tập dữ liệu nhãn/lớp áp dụng vào việc huấn luyện; xây dựng chương trình thực nghiệm cho việc phân loại văn bản

Từ khĩa: Xư lý văn bản; mơ hình học cĩ giám sát; SVM; Hàm nhân Kernel; Siêu phẳng tối ưu; Xác nhận của giáo viên hướng dẫn Người thực hiện đề tài

STUDYING MACHINE LEARNING METHOD MONITORING TO DISTRIBUTE TEXT CATEGORIES IN

QUANG NGAI PROVINCE

Specialized: Information System

Full name of master student: To Tran Van Thao

Supervisors: Dr Nguyen Thi Ngoc Anh

Tranning institution: University Of Science And Education – The University Of Da Nang

Abtract

This dissertation goes into the research and overview of classification and classification of Vietnamese texts with problems such as classification of electronic news, classification of documents in finance, banking, spam redistribution The program is written in the c # language

in Microsoft Visual Studio Community 2017, integrating the preprocessing module and the layered module (SVM)

- Studying some classification algorithms such as KNN, Nạve Bayes and SVM, thereby giving the problem of applying to classification of documents in the administrative field

- Develop a dictionary to apply to the separation.

- Build label / class data set applied to training.

- Develop an experimental program for text classification.

Key words: Keywords: SVM; Kernel kernel; Optimal super flat;

Supervior’s confirmation Student

Trang 6

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 2

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 3

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 Khái niệm về học máy 5

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

1.1.3 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 8

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

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 9

1.3.1 Khái niệm 9

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 11

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

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

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

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

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 18

CHƯƠNG 2 KHÁI QUÁT MÔ HÌNH HỌC MÁY SUPPORT VECTOR MACHINES (SVM) 21

2.1 Ngôn ngữ tiếng Việt 21

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

2.2.1 Văn bản quản lý nhà nước 22

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

Trang 7

2.2.4 Ngôn ngữ trong văn bản hành chính 23

2.3 Bộ phân loại Support Vector Machines (SVM) 23

2.3.1 Siêu phẳng tối ưu 25

2.3.2 Phân lớp mềm 28

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

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

2.3.5 Phương pháp tách từ 35

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

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

2.4 Kết luận chương 2 36

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 TỈNH 37

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

3.1.1 Phát biểu bài toán 37

3.1.2 Phương pháp phân lớp SVM 38

3.1.3 Mô hình SVM cho bài toán phân lớp văn bản 38

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

3.2.1 Môi trường thực nghiệm 42

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

3.2.3 Dữ liệu và chương trình 42

3.2.4 Xây dựng bộ từ điển danh từ 44

3.2.5 Giao diện chương trình 45

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

3.2.7 Kết quả phân loại văn bản 48

3.3 Đánh giá kết quả thực nghiệm 49 TÀI LIỆU THAM KHẢO

QUYẾT ĐỊNH GIAO DỀ TAI (BẢN SAO)

Trang 8

Ký hiệu Thuật ngữ

CNTT Công nghệ thông tin

CPU Central Processing Unit

RBF Radial Basic Function

RFC Relative Frequency Count

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

TF Term Frequency

TF –

IDF Term frequency – inverse document frequency

SVM Support Vector Machines (Máy vector hỗ trợ)

Trang 9

Số hiệu

3.2 Biểu diễn văn bản dưới dạng từ điển 42

Trang 10

Số hiệu

1.1 Mô hình thuật toán học máy có giám sát 6 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 10 1.3 Sơ đồ khung một hệ thống phân lớp văn bản 12

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

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

Trang 11

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

Tại Văn phòng 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 10 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 đượ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 30 triệu dữ liệu Theo Nghị định Chính phủ yêu cầu cung cấp thông

Trang 12

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 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 để 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 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 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

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 vào bài toán phân loại văn bản tại Văn phòng 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á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

- Nghiên cứu phương pháp học để 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ả

Trang 13

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 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 trình của Vapnik và Lerner (1963)[15], 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 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

Trong chương này, luận văn trı̀nh bày một cách tổng quan về học máy và một số

lý thuyết về phân lớp

Chương 2: Khái quát mô hình học máy Support Vector Machines (SVM)

Trong chương này, luận văn đi sâu phân tích đặc tính của tiếng Việt cũng như các loại hình văn bản nhà nước Theo đó các phương pháp phân loại văn bản tiếng Việt dựa

Trang 14

trên mô hình Support Vector Machines, từ cách tách từ, chọn từ phân loại, biểu diễn vector hóa văn bản, phương pháp xây dựng mô hình phân lớp cũng được trình bày cụ thể

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 tỉnh

Từ những cơ sở lý thuyết đã được tìm hiểu ở chương 1 về học máy 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 và mô hình học máy SVM ở chương 2 Trong chương 3 này,tôi áp dụng bài toán thực tế thông qua việc lựa chọn ngôn ngữ lập trình và môi trường phát triển để xây dựng và thử nghiệm

hệ thống ứng dụng SVM vào việc phân loại văn bản hành chính tại tỉnh Quảng Ngãi 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 15

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

Trong chương này, các nội dung được trình bày chủ yếu liên quan đến các vấn đề như: học máy, ứng dụng học máy, tổng quan về phân lớp

1.1 Tổng quan về học máy

Học máy (Machine Learning - ML) [17]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 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

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

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

Học có giám sát [18]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 16

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…

- 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

Trang 17

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

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

Học không giám sát [18]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.2.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 [19]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

1.1.2.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 [20]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ó)

Trang 18

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

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 [9]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

Trang 19

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

- 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

- 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

- 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

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

Trang 20

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:

- Đố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

Trang 21

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

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

Trang 22

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

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

Trang 23

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

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

Trang 24

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ừ [7, 8] 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 đị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

Trang 25

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 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)

- 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ỗ giữa từ t và lớp c được tính như sau:

P(t,c) là xác suất xuất hiện đồng thời của từ t trong lớp c

P(t) là xác suất xuất hiện của từ t và

P(c) là xác suất xuất hiện của lớp c

Độ đo MI toàn cục (tính trên toàn bộ tập tài liệu huấn luyện) cho từ t được tính theo công thức sau:

𝑀𝐼𝑎𝑣𝑔(𝑡) = ∑ 𝑃(𝑐𝑖 𝑖)𝑀𝐼(𝑡, 𝑐𝑖) (1.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ừ

Trang 26

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

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

- 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

- 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

Trang 27

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.7)

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.8)

Đâ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

- 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

Trang 28

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

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

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ư:

Ngoài nước:

- Đề tài “ Active Learning for Text Classification” của tác giả Rong Hu, đang làm việc tại School of Computing, Dublin Institute of Techonology[12]

Trang 29

Đề tài thực hiện đưa các thông tin vào học máy dùng các thuật toán gom cụm để tạo ra bộ dữ liệu mẫu Đề tài tập trung vào việc tốt ưu cho việc học máy tích cực

- Bài báo “Text Categorization with Support Vector Machines: Learning with Many Relevant Features” của tác giả Thorsten Joachims, Trường Đại học Dortmund, Đức[11]

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 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[4]

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

- 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

Trang 30

Kiều[6]

* 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

CHƯƠNG 2 KHÁI QUÁT MÔ HÌNH HỌC MÁY SUPPORT VECTOR MACHINES (SVM)

Trong chương này, luận văn trình bày phương pháp phân loại văn bản tiếng Việt dựa trên mô hình Support Vector Machines, từ cách tách từ, chọn từ phân loại, biểu diễn vector hóa văn bản, phương pháp xây dựng mô hình phân lớp Trước tiên để tiến đến việc phân loại văn bản tiếng Việt trong văn bản hành chính ta cần phải tìm hiểu một số khái niệm về tiếng Việt và văn phong sử dụng trong văn bản hành chính Những khái niệm đó sẽ được trình bày dưới đây

2.1 Ngôn ngữ tiếng Việt

Tiếng Việt thuộc ngôn ngữ đơn lập, tức là mỗi một tiếng (âm tiết) được phát âm tách rời nhau và được thể hiện bằng một chữ viết Đặc điểm này thể hiện rõ rệt ở tất cả các mặt ngữ âm, từ vựng, ngữ pháp

Đặc điểm ngữ âm: Trong tiếng Việt có một loại đơn vị đặc biệt gọi là "tiếng" Về mặt ngữ âm, mỗi tiếng là một âm tiết Hệ thống âm vị tiếng Việt phong phú và có tính cân đối, tạo ra tiềm năng của ngữ âm tiếng Việt trong việc thể hiện các đơn vị có nghĩa Nhiều từ tượng hình, tượng thanh có giá trị gợi tả đặc sắc Khi tạo câu, tạo lời, người Việt rất chú ý đến sự hài hòa về ngữ âm, đến nhạc điệu của câu văn

Đặc điểm từ vựng: Mỗi tiếng, nói chung, là một yếu tố có nghĩa Tiếng là đơn vị

cơ sở của hệ thống các đơn vị có nghĩa của tiếng Việt Từ tiếng, người ta tạo ra các đơn vị từ vựng khác để định danh sự vật, hiện tượng , chủ yếu nhờ phương thức ghép

Trang 32

ngôn ngữ nghệ thuật Hiện nay, do sự phát triển vượt bậc của khoa học-kĩ thuật, đặc biệt là công nghệ thông tin, thì tiềm năng đó còn được phát huy mạnh mẽ hơn

Đặc điểm ngữ pháp: Từ của tiếng Việt không biến đổi hình thái Đặc điểm này sẽ chi phối các đặc điểm ngữ pháp khác Khi từ kết hợp từ thành các kết cấu như ngữ, câu, tiếng Việt rất coi trọng phương thức trật tự từ và hư từ

Qua một số đặc điểm nổi bật vừa nêu trên đây, chúng ta có thể hình dung được phần nào bản sắc và tiềm năng của tiếng Việt

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

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

Văn bản quản lý nhà nước là những quyết định và thông tin quản lý thành văn (được văn bản hóa) do các cơ quan quản lý nhà nước ban hành theo thẩm quyền, trình

tự, thủ tục, hình thức nhất định và được nhà nước đảm bảo thi hành bằng những hình thức khác nhau nhằm điều chỉnh các mối quan hệ quản lý nội bộ nhà nước hoặc giữa các cơ quan nhà nước với các tổ chức và công dân

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

Văn bản quản lý hành chính nhà nước là một bộ phận của văn bản quản lý nhà nước, bao gồm những văn bản của các cơ quan nhà nước (mà chủ yếu là các cơ quan hành chính nhà nước) dùng để đưa ra các quyết định và chuyển tải các thông tin quản

lý trong hoạt động chấp hành và điều hành

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

Văn bản quản lý nhà nước được phân ra làm ba nhóm:

- Văn bản quy phạm pháp luật Hệ thống văn bản quy phạm pháp luật bao gồm các loại văn bản sau:

+ Hiến pháp, luật, nghị quyết của Quốc hội;

+ Pháp lệnh, nghị quyết của Ủy ban Thường vụ Quốc hội;

+ Lệnh, quyết định của Chủ tịch nước;

+ Nghị định của Chính phủ;

+ Quyết định của Thủ tướng Chính phủ …

- Văn bản hành chính Văn bản hành chính được chia làm hai loại: văn bản hành chính thông thường và văn bản hành chính cá biệt bao gồm các loại văn bản sau: + Chỉ thị;

+ Quyết định;

Trang 33

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

Văn bản hành chính phải mang tính chính xác, rõ ràng Đây là một đặc điểm quan trọng trong văn bản hành chính Chính xác trong cách dùng từ đặc câu phải đi đôi với tính minh bạch trong kết cấu văn bản để đảm bảo tính xác định, tính đơn nghĩa của nội dung, chỉ cho phép một cách hiểu, không gây hiểu lầm, câu cú phải ngắn gọn không rườm rà

Văn bản hành chính phải mang tính khuôn mẫu, lịch sự đây là quy định chung về cách trình bày văn bản áp dụng cho tất cả các loại văn bản hành chính Sự tuân thủ theo những khuân mẫu nhất định có tác động đến tính chuẩn mực của văn bản ở cả hình thức lẫn nội dung

Văn bản hành chính phải mang tính nghiêm túc, khách quan Từ ngữ trong văn bản hành chính bao giờ cũng phải mang tính khách quan, không chứa đựng cảm xúc hoặc đánh giá chủ quan cá nhân Tính khách quan, nghiêm túc được coi như dấu hiệu đặc biệt của văn bản

2.3 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

Phương pháp SVM được coi là phương pháp hiệu quả để giải quyết bài toán phân lớp với dữ liệu có số chiều lớn như các vector biểu diễn 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

Trang 34

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 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)

Trang 35

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 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.3.1 Siêu phẳng tối ưu

Ý tưởng chính của SVM [23]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:

Trang 36

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

Trang 37

𝑓∗ = 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

Trang 38

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

hỗ trợ tương ứng

Trang 39

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

Trang 40

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 𝛺 ⊆ 𝑅𝐷

Ngày đăng: 07/05/2021, 14:16

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

TÀI LIỆU LIÊN QUAN

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

w