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

Chẩn đoán lỗi hệ thống CNTT tổng cục thuế, sử dụng thuật toán bayes

89 41 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 89
Dung lượng 3,13 MB

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

Nội dung

Để phân lớp người ta sử dụng nhiều cách tiếp cận khác nhau như dựa trên từ khóa, dựa trên ngữ nghĩa các từ có tần số xuất hiện cao, mô hình MEM [8], tập thô, tập mờ … Một số lượng lớn cá

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

CHẨN ĐOÁN LỖI HỆ THỐNG CNTT TỔNG CỤC THUẾ,

SỬ DỤNG THUẬT TOÁN BAYES

Trang 3

LỜI CAM ĐOAN

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

Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công

bố trong bất kỳ công trình nào

TÁC GIẢ LUẬN VĂN

Ngô Minh Tùng

Trang 4

LỜI CẢM ƠN

Trước tiên, tôi xin bày tỏ lời cảm ơn sâu sắc và chân thành nhất đến các thầy cô giáo của Trường Đại học Mở Hà Nội Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS Nguyễn Quang Hoan người đã tận tình chỉ bảo, hướng dẫn tôi trong suốt quá trình tìm hiểu, nghiên cứu để hoàn thành luận văn tốt nghiệp của mình Nếu không có những hỗ trợ về kiến thức chuyên môn của thầy thì chắc chắn tôi không thể hoàn thành đúng thời hạn

Đồng thời, tôi xin cảm ơn tới gia đình, những người thân yêu luôn bên cạnh, động viên, giúp đỡ tôi trong suốt quá trình học tập Bên cạnh đó tôi cũng xin gửi lời cảm ơn đến các bạn đồng nghiệp, đã chia sẻ những kinh nghiệm, kiến thức quý báu cho tôi trong quá trình nghiên cứu thực hiện luận văn

Trong quá trình nghiên cứu của mình,mặc dù được sự hướng dẫn rất nhiệt tình, đầy trách nhiệm của PGS.TS Nguyễn Quang Hoan và các thầy cô giáo trong Trường Đại học Mở Hà Nội cùng với sự nỗ lực của bản cá nhân nhưng cũng không thể tránh được những thiếu sót Tác giả chân thành mong nhận được những ý kiến đóng góp từ quý Thầy, Cô và các bạn bè đồng nghiệp

Trân trọng cảm ơn

Ngô Minh Tùng

Trang 5

MỤC LỤC

Trang

LỜI CAM ĐOAN i

LỜI CẢM ƠN iv

MỤC LỤC v

DANH MỤC CÁC THUẬN NGỮ, CHỮ VIẾT TẮT vii

DANH MỤC CÁC BẢNG BIỂU ix

DANH MỤC CÁC HÌNH VẼ x

MỞ ĐẦU xi

CHƯƠNG 1 PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU 1

1.1 Khái quát v ề phân lớp dữ liệu 1

1.1.1 Tổng quan v ề phân lớp dữ liệu 1

1.1.2 Các tiêu chuẩn đánh giá mô hình phân lớp 5

1.2 Các phương pháp phân lớp dữ liệu 7

1.2.1 Phân lớp văn bản dựa trên cách tiếp cận hệ chuyên gia 7

1.2.2 Phân l ớp dựa trên cách tiếp cận má y học 7

1.3 Tình hình nghiên cứu và ứng dụng các thuật toán phân lớp trong và ngoài nước 7

1.4 Đặt bài toán 9

1.4.1 Tình hình ở Tổng cục Thuế 9

1.4.2 Mô tả tập dữ liệu thực nghiệm cho bài toán 9

1.4.3 Phân loại lỗi 11

1.4.4 Đặt bài toán 12

1.5 Kết quả cần đạt được 14

1.6.Kết luận chương 1 15

CHƯƠNG 2 CÁC PHƯƠNG PHÁP HỌC MÁY ÁP DỤNG CHO BÀI TOÁN CHUẨN ĐOÁN LỖI CNTT NGÀNH THU Ế 16

2.1 Các phương pháp học máy 16

2.1.1 Phương pháp Bayes 16

2.1.2 Mô hình Maximum Entrop y Model 19

2.1.3.Thuật toán K láng giềng gần nhất 22

Trang 6

2.2 Các chỉ tiêu đánh giá phân lớp 26

2.3.Kết luận chương 2 28

CHƯƠNG 3 PHÂN LỚP DỮ LIỆU CÁC LỖI HỆ THỐNG, THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 29

3.1 Tiền xử lý dữ liệu 29

3.1.1 Khái niệm 29

3.1.2 Lọc nhiễu 29

3.1.3 Loại bỏ các từ phổ biến 29

3.2 Phân tích, lựa chọn các đặc trưng cơ bản 31

3.2.1 Đặc trưng N-Grams 31

3.2.2 Đặc trưng Word vector 36

3.2.3 Đặc trưng TF-IDF 39

3.3 Công cụ và cách thức thực nghiệm 42

3.3.1 Công cụ Weka 42

3.3.2 WEKA – Môi trường làm việc Explorer 43

3.3.3 Chuẩn bị thực nghiệm 46

3.4 Thực nghiệm và đánh giá kết quả thực nghiệm 47

3.4.1 Thực nghiệm các thuật toán với các đặc trưng 2 lớp lỗi 47

3.4.2 Thực nghiệm các thuật toán với các đặc trưng 7 lớp lỗi 53

3.5 Đề xuất phương pháp kết hợp nâng cao độ chính xác cho bài toán 60

3.6 Kết luận chương 3 61

KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 1

PHỤ LỤC I PHẦN MỀM HỖ TRỢ 3

PHỤ LỤC II DỮ LIỆU THỰC NGHIỆM 4

Trang 7

DANH MỤC CÁC THUẬN NGỮ, CHỮ VIẾT TẮT

ARFF Atrribute Relation File

Format Định dạng tập tin thuộc tính liên quan

của hệ thống

CM Confusion Matrix Ma trận nhầm lẫn

MEM Maximum Entropy Model Thuật toán Entropy cực đại

NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên

N-G N-grams Là tần suất xuất hiện của n kí tự (hoặc

từ) liên tiếp nhau có trong dữ liệu KNN K-Nearest Neighbor Thuật toán K – láng giềng

PA Predictive Accuracy Độ chính xác dự đoán

PRE Precision Độ chính xác trong tập dữ liệu tìm đƣợc

thì bao nhiêu cái (phân loại) đúng

TF-IDE term frequency – inverse

document frequency Trọng số của 1 từ

SVM Support Vector Machine (SVM) Thuật toán máy vector hỗ trợ

Trang 8

SVM - NN Support Vector Machines

Nearest Neighbor

Thuật toán máy vector hỗ trợ kết thuật toán K - láng giềng

RC Recall Độ hồi tưởng trong số các tồn tại, tìm ra

được bao nhiêu cái (phân loại)

WV Word vector (Glove vector) một vector

Trang 9

DANH MỤC CÁC BẢNG BIỂU

Trang

Bảng 1.1: Số lượng thông báo lỗi của mỗi nhóm 10

Bảng 1.2: Cấu trúc file dữ liệu data.txt 11

Bảng 1.3: Các nhãn lỗi thu thập từ thông báo người sử dụng 12

Bảng 2.1: Biểu diễn văn bản theo vector 24

Bảng 2.2: Ma trận nhầm lẫn 26

Bảng 3.1: Xác suất đồng xảy ra với các từ ice và steam với những từ được chọn 37

Bảng 3.2: Kết quả thực nghiệm các thuật toán với đặc trưng N-grams 47

Bảng 3.3: Kết quả thực nghiệm giữa các thuật toán với đặc trưng Glove vector 49

Bảng 3.4: Kết quả thực nghiệm giữa các thuật toán với đặc trưng TF-IDF 50

Bảng 3.5: Kết quả thực nghiệm giữa thuật toán Bayes với các đặc trưng 52

Bảng 3.6: Kết quả thực nghiệm các thuật toán với đặc trưng N-grams (7 lớp lỗi) 54

Bảng 3.7: Kết quả thực nghiệm các thuật toán với đặc trưng Glove vector (7 lớp lỗi) 57

Bảng 3.8: Kết quả thực nghiệm các thuật toán với đặc trưng Glove vector (7 lớp lỗi) 59

Bảng 3.9: Kết quả thực nghiệm các thuật toán với đặc trưng Glove vector + Ngrams (2 lớp lỗi) 60

Bảng 3.10: So sánh phương pháp kết hợp Glove Vector + đặc trưng N-gram (2 nhãn) 60

Trang 10

DANH MỤC CÁC HÌNH VẼ

Trang

Hình 1.1: Quá trình phân lớp dữ liệu - Bước xây dựng mô hình phân lớp 3

Hình 1.2: Quá trình phân lớp dữ liệu - Ước lượng độ chính xác của mô hình 4

Hình 1.3: Quá trình phân lớp dữ liệu - Phân lớp dữ liệu mới 4

Hình 1.4: Ước lượng độ chính xác của mô hình phân lớp với phương pháp Holdout6 Hình 3.1: Danh mục các từ file stopwords.txt 30

Hình 3.2: Nội dung file data2_stop.txt 30

Hình 3.3: Khuôn dạng file định dạng dữ liệu cho Weka 36

Hình 3.4: Biểu diễn từ điển với 5 từ King, Queen, Man, Woman, và Child [11] 37

Hình 3.5: Một phần tập tin Glove-300d.txt 38

Hình 3.6: Biểu diễn trong TF – IDF 40

Hình 3.7: Giao diện Weka ver 3.6.10 [16][17] 42

Hình 3.8: Môi trường làm việc Weka Explorer [16],[17] 43

Hình 3.9: Giao diện Weka khi tiến hành thực nghiệm [16],[17] 44

Hình 3.10: Khuôn dạng của tập dữ liệu dạng chuẩn Arff [18] 45

Hình 3.11: Kết quả thực nghiệm giữa các thuật toán kết hợp với đặc trưng N-grams (2 lớp) 48

Hinh 3.12: Kết quả thực nghiệm giữa các thuật toán kết hợp với đặc trưng Glove vector (2 lớp) 49

Hình 3.13: Kết quả thực nghiệm với đặc trưng TF-IDF (2 lớp) 51

Hình 3.14: So sánh kết quả thực nghiệm giữa thuật toán Bayes kết hợp với các đặc trưng (2 lớp) 52

Hình 3.15: So sánh kết quả thực nghiệm kết hợp với đặc trưng N-grams (7 lớp) 55

Hình 3.16: Độ đo F1 từng lớp thuật toán Bayes với đặc trưng Unigram (7 lớp) 56

Hình 3.17: So sánh độ đo F1 với đặc trưng Glove vector(7 lớp) 58

Hình 3.18: So sánh kết quả tốt nhất của thuật toán Bayes kết hợp với các đặc trưng (7 lớp) 59

Trang 11

MỞ ĐẦU

Hiện nay, có nhiều vấn đề đặt ra đối với ngành Thuế Việt Nam, đặc biệt là những vấn đề liên quan đến cơ chế quản lý, hiệu lực và hiệu quả hoạt động, các hoạt động nộp Thuế, kê khai Thuế, hóa đơn Thuế đều yêu cầu sự công bằng, dân chủ, văn minh, thủ tục nhanh chóng và tiện lợi Những vấn đề đó chỉ có thể được giải quyết một cách khoa học và dễ dàng nếu như ngành Thuế có được một hệ thống thông tin đầy đủ, chính xác và kịp thời Việc áp dụng công nghệ thông tin vào ngành Thuế vô cùng quan trọng trong giai đoạn hiện nay Tuy nhiên, việc áp dụng công nghệ thông tin để vận hành một hệ thống lớn đặc thù như ngành Thuế

mà xảy ra các lỗi sự cố gây gián đoạn hệ thống, dẫn đến làm giảm chất lượng phục

vụ người dân và doanh nghiệp, thất thoát tiền của là điều rất khó khăn và thách thức Chính vì thế, việc xây dựng kho dữ liệu để chẩn đoán các lỗi về vấn đề quản trị hệ thống công nghệ thông tin (CNTT) là vô cùng cấp thiết hiện nay

Trong luận văn này, tôi tập trung vào bài toán chẩn đoán các lỗi xảy ra khi

sử dụng và ứng dụng CNTT vào ngành Thuế Đây là bài toán có đầu vào là các thông báo lỗi do khách hàng gửi về trong quá trình nộp Thuế điện tử, nộp hóa đơn doanh nghiệp, hoặc các lỗi từ chính nhân viên các phòng ban trong Tổng cục Thuế báo về Các lỗi này xảy ra trong quá trình sử dụng, ứng dụng hệ thống CNTT ngành Thuế và được chuyển về thông qua các cuộc điện thoại, tin nhắn, email, văn bản Đó có thể là những lỗi cơ bản như mất tín hiệu đường truyền, không truy cập được vào trang nộp Thuế điện tử của cơ quan Thuế, và chúng ta cần phải xác định xem các lỗi đó, hay các thông tin lỗi đó có nguyên nhân gì hay không? Nếu các lỗi được thông báo có nguyên nhân thì nguyên nhân lỗi cụ thể của người dùng gặp

phải là gì: nguyên nhân khách quan, nguyên nhân do các thiết bị mạng, nguyên

nhân do hệ thống máy chủ hoặc phần mềm, nguyên nhân do cơ sở dữ liệu, nguyên nhân do bảo mật thông tin, nguyên nhân khác Tuy nhiên, những thông tin lỗi

được báo về không phải tất cả đều thể hiện rõ ràng lỗi khách hàng đang gặp phải

Vì vậy, luận văn sẽ tập trung chủ yếu vào chẩn đoán và phân loại các thông báo nhận được Những dữ liệu thu thập được từ việc lần tìm sự cố cho phép đưa ra

Trang 12

những quyết định tốt hơn về mặt quản trị vấn đề, góp phần tạo ra mô hình quản trị lỗi và mô hình này cho phép các nhân viên hỗ trợ giải quyết những sự cố một cách nhanh chóng, kịp thời với những quy trình xử lý lỗi đã được chẩn đoán, xác định trước đó

Luận văn “Chẩn đoán lỗi hệ thống CNTT Tổng cục Thuế, sử dụng thuật

toán Bayes” thực hiện khảo sát, nghiên cứu các phương pháp xây dựng hệ thống

phân loại chẩn đoán lỗi áp dụng phạm vi ngành Thuế [6] Từ đó, đưa ra phương pháp chẩn đoán lỗi phù hợp nhất cho hệ thống chẩn đoán bằng tiếng Anh Trong luận văn này, tôi tiến hành áp dụng làm thực nghiệm dựa trên sự kết hợp các thuật

toán học máy Bayes [7], KNN và MEM [8] với một số phương pháp trích chọn đặc

trưng Các đặc trưng này sẽ được biểu diễn dưới dạng vector và làm đầu vào cho

các thuật toán Sau khi thu được kết quả từ quá trình thực nghiệm, luận văn sử

dụng phương pháp lập sơ đồ để kiểm tra và lựa chọn kết quả tốt nhất

Nội dung của luận văn gồm 03 chương:

Chương 1: Phương pháp phân lớp dữ liệu

Chương 2: Các phương pháp học máy áp dụng chẩn đoán lỗi cho ngành Thuế Chương 3: Phân lớp dữ liệu lỗi hệ thống, thực nghiệm và đánh giá kết quả

Phần kết luận:

Trang 13

CHƯƠNG 1 PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU

Trong chương này, luận văn trình bày về phân lớp dữ liệu, các phương pháp phân lớp, bài toán chẩn đoán lỗi cho ngành Thuế và cuối cùng hướng tiếp cận nhằm giải quyết bài toán đề ra

1.1 Khái quát về phân lớp dữ liệu

1.1.1 Tổng quan về phân lớp dữ liệu

Trong quá trình hoạt động, con người tạo ra nhiều dữ liệu nghiệp vụ Các tập

dữ liệu được tích lũy có kích thước ngày càng lớn, và có thể chứa nhiều thông tin ẩn dạng những quy luật chưa được khám phá Chính vì vậy, một nhu cầu đặt ra là cần tìm cách trích rút từ tập dữ liệu đó các luật về phân lớp dữ liệu hay dự đoán những

xu hướng dữ liệu tương lai Những quy tắc nghiệp vụ thông minh được tạo ra sẽ phục

vụ đắc lực cho các hoạt động thực tiễn, cũng như phục vụ đắc lực cho quá trình nghiên cứu khoa học Công nghệ phân lớp và dự đoán dữ liệu ra đời để đáp ứng mong muốn đó

Công nghệ phân lớp dữ liệu đã, đang và sẽ phát triển mạnh mẽ trước những khao khát tri thức của con người Trong những năm qua, phân lớp dữ liệu đã thu hút

sự quan tâm các nhà nghiên cứu trong nhiều lĩnh vực khác nhau như học máy

(machine learning), hệ chuyên gia (expert system), thống kê (statistics) Công nghệ

này cũng ứng dụng trong nhiều lĩnh vực thực tế như: thương mại, ngân hàng, maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục

Để phân lớp người ta sử dụng nhiều cách tiếp cận khác nhau như dựa trên từ khóa, dựa trên ngữ nghĩa các từ có tần số xuất hiện cao, mô hình MEM [8], tập thô, tập mờ … Một số lượng lớn các phương pháp phân lớp đã được áp dụng thành công

trên ngôn ngữ này: mô hình hồi quy, phân lớp dựa trên K-láng giềng gần nhất [14], phương pháp dựa trên xác suất Bayes [7], cây quyết định, học quy nạp, NN, và SVM Trong các kỹ thuật đó, thuật toán Bayes được coi là công cụ mạnh, phổ biến và đặc biệt thích hợp cho data mining [14]

Trong các mô hình phân lớp, phân lớp dữ liệu là nhân tố chủ đạo Do vậy cần xây dựng những thuật toán phân lớp có độ chính xác cao, thực thi nhanh, đi kèm với

Trang 14

khả năng mở rộng được để có thể thao tác với những tập dữ liệu ngày càng lớn Ngày nay, phân lớp dữ liệu (Classification) là một trong những hướng nghiên cứu chính của khai phá dữ liệu [3] Thực tế đặt ra nhu cầu, từ một cơ sở dữ liệu với nhiều thông tin ẩn con người có thể trích rút ra các quyết định nghiệp vụ thông minh Phân lớp và

dự đoán là hai dạng của phân tích dữ liệu nhằm trích rút ra một mô hình mô tả các lớp

dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương lai Phân lớp dự đoán giá trị của những nhãn xác định (Categorical label) hay những giá trị rời rạc (Discrete Value), có nghĩa là phân lớp thao tác với những đối tượng dữ liệu mà có bộ giá trị là biết trước Ví dụ mô hình phân lớp dự báo thời tiết có thể cho biết thời tiết ngày mai

là mưa, hay nắng dựa vào những thông số về độ ẩm, sức gió, nhiệt độ,… của ngày hôm nay và các ngày trước đó Hay nhờ các luật về xu hướng mua hàng của khách hàng trong siêu thị, các nhân viên kinh doanh có thể ra những quyết sách đúng đắn

về lượng mặt hàng cũng như chủng loại bày bán… Một mô hình dự đoán có thể dự đoán được lượng tiền tiêu dùng của các khách hàng tiềm năng dựa trên những thông tin về thu nhập và nghề nghiệp của khách hàng Phần lớn các thuật toán ra đời trước

đều sử dụng cơ chế dữ liệu cư trú trong bộ nhớ (memory resident), thường thao tác

với lượng dữ liệu nhỏ Một số thuật toán ra đời sau này đã sử dụng kỹ thuật cư trú trên đĩa cải thiện đáng kể khả năng mở rộng của thuật toán với những tập dữ liệu lớn lên tới hàng tỉ bản ghi

Quá trình phân l ớp dữ liệu gồm hai bư ớc [14]:

 Bước thứ nhất (learning)

Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay các khái niệm định trước Đầu vào của quá trình này là một tập dữ liệu có cấu trúc được mô tả bằng các thuộc tính và được tạo ra từ tập các bộ giá trị của các thuộc tính

đó Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu (data tuple), có thể là các mẫu (sample), ví dụ (example), đối tượng (object), bản ghi (record) hay trường hợp (case) Khoá luận sử dụng các thuật ngữ này với nghĩa tương đương Trong tập dữ liệu này, mỗi phần tử dữ liệu được giả sử thuộc về một lớp định trước, lớp ở đây là giá trị của một thuộc tính được chọn làm thuộc tính gán nhãn lớp hay thuộc tính phân lớp (class label attribute) Đầu ra của bước này thường là các quy tắc phân lớp dưới

Trang 15

dạng luật dạng if-then, cây quyết định, công thức logic, hay mạng nơron Quá trình này được mô tả như trong hình 1

Hình 1.1: Quá trình phân lớp dữ liệu - Bước xây dựng mô hình phân lớp

 Bước thứ hai (classification)

Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp dữ liệu mới Trước tiên độ chính xác mang tính chất dự đoán của mô hình phân lớp vừa tạo ra được ước lượng Holdout là một kỹ thuật đơn giản để ước lượng độ chính xác đó Kỹ thuật này sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp Các mẫu này được chọn ngẫu nhiên và độc lập với các mẫu trong tập dữ liệu đào tạo Độ chính xác của mô hình trên tập dữ liệu kiểm tra đã đưa là tỉ lệ phần trăm các các mẫu trong tập dữ liệu kiểm tra được mô hình phân lớp đúng (so với thực tế) Nếu độ chính xác của mô hình được ước lượng dựa trên tập dữ liệu đào tạo thì kết quả thu được là rất khả quan vì mô hình luôn có xu hướng “quá vừa” dữ liệu Quá vừa dữ liệu là hiện tượng kết quả phân lớp trùng khít với dữ liệu thực tế vì quá trình xây dựng mô hình phân lớp từ tập dữ liệu đào tạo có thể đã kết hợp những đặc điểm riêng biệt của tập

Trang 16

dữ liệu đó Do vậy cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ liệu đào tạo Nếu độ chính xác của mô hình là chấp nhận được, thì mô hình được sử dụng để phân lớp những dữ liệu tương lai, hoặc những dữ liệu mà giá trị của thuộc tính phân lớp là chưa biết

Hình 1.2: Quá trình phân lớp dữ liệu - Ước lượng độ chính xác của mô hình

Hình 1.3: Quá trình phân lớp dữ liệu - Phân lớp dữ liệu mới

Trang 17

Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định tới sự thành công của mô hình phân lớp Do vậy chìa khóa của vấn đề phân lớp dữ liệu là tìm ra đƣợc một thuật toán phân lớp nhanh, hiệu quả, có độ chính xác cao và

có khả năng mở rộng đƣợc Trong đó khả năng mở rộng đƣợc của thuật toán đƣợc đặc biệt trú trọng và phát triển [14]

Có thể liệt kê ra đây các kỹ thuật phân lớp đã đƣợc sử dụng trong những năm qua:

Phân lớp cây quyết định (Decision Tree Classification)

Bộ phân lớp Bayesian (Bayesian Classifier)

Mô hình phân lớp K-hàng xóm gần nhất (K-nearest Neighbor Classifier)

Mạng nơron

Phân tích thống kê

Các thuật toán di truyền

Phương pháp tập thô (Rough set Approach)

1.1.2.Các tiêu chuẩn đánh giá mô hình phân lớp

Trong từng ứng dụng cụ thể cần lựa chọn mô hình phân lớp phù hợp Việc lựa chọn đó căn cứ vào sự so sánh các mô hình phân lớp với nhau, dựa trên các tiêu chuẩn sau:

Độ chính xác dự đoán (Predictive Accuracy):

Độ chính xác là khả năng của mô hình để dự đoán chính xác nhãn lớp của dữ liệu mới hay dữ liệu chƣa biết

Trang 18

Tính hiểu được là mức độ hiểu và hiểu rõ những kết quả sinh ra bởi mô hình

đã học

Tính đơn giản (simplicity)

Tính đơn giản liên quan đến kích thước của cây quyết định hay độ cô đọng của các luật

Trong các tiêu chuẩn trên, khả năng mở rộng của mô hình phân lớp được nhấn mạnh và trú trọng phát triển, đặc biệt với cây quyết định [14]

1.1.3 Các phương pháp đánh giá độ chính xác của mô hình phân lớp

Ước lượng độ chính xác của bộ phân lớp là quan trọng ở chỗ nó cho phép dự đoán được độ chính xác của các kết quả phân lớp những dữ liệu tương lai Độ chính xác còn giúp so sánh các mô hình phân lớp khác nhau Luận văn này đề cập đến 2 phương pháp đánh giá phổ biến là holdout và k-fold cross-validation Cả 2 kỹ thuật này đều dựa trên các phân hoạch ngẫu nhiên tập dữ liệu ban đầu

Trong phương pháp holdout, dữ liệu dưa ra được phân chia ngẫu nhiên thành 2 phần là: tập dữ liệu đào tạo và tập dữ liệu kiểm tra Thông thường 2/3 dữ liệu cấp cho tập dữ liệu đào tạo, phần còn lại cho tập dữ liệu kiểm tra [14]

Hình 1.4: Ước lượng độ chính xác của mô hình phân lớp với phương pháp

classifier

Trang 19

Trong phương pháp k-fold cross validation tập dữ liệu ban đầu được chia ngẫu nhiên thành k tập con (fold) cĩ kích thước xấp xỉ nhau S1, S2, …, Sk Quá trình học và test được thực hiện k lần Tại lần lặp thứ i, Si là tập dữ liệu kiểm tra, các tập cịn lại hợp thành tập dữ liệu đào tạo Cĩ nghĩa là, đâu tiên việc dạy được thực hiện trên các tập S2, S3 …, Sk, sau đĩ test trên tập S1; tiếp tục quá trình dạy được thực hiện trên tập S1, S3, S4,…, Sk, sau đĩ test trên tập S2; và cứ thế tiếp tục Độ chính xác là tồn bộ

số phân lớp đúng từ k lần lặp chia cho tổng số mẫu của tập dữ liệu ban đầu

1.2 Các phương pháp phân lớp dữ liệu

1.2.1 Phân lớp văn bản dựa trên cách tiếp cận hệ chuyên gia

Điều trở ngại của cách tiếp cận này là hạn chế trong quá trình thu nhận tri thức

từ tài liệu của các hệ thống chuyên gia [1], [2], nghĩa là, các luật phải được định nghĩa bằng tay bởi kỹ sư tri thức với sự giúp đỡ của chuyên gia về lĩnh vực được nêu trong tài liệu Nếu tập hợp của các loại được cập nhật, thì hai nhà chuyên gia phải can thiệp lại, và nếu phân lớp được chuyển hồn tồn sang một phạm vi khác, một chuyên gia về lĩnh vực này cần thiết phải can thiệp vào và cơng việc phải được bắt đầu lại từ tập tài liệu hỗn tạp ban đầu

1.2.2 Phân lớp dựa trên cách tiếp cận máy học

Một số thuật tốn dựa trên tiếp cận máy học được sử dụng phổ biến hiện nay gồm: Thuật tốn Bayes [7], cây quyết định, KNN, SVM, MEM Ngồi ra, cịn một số thuật tốn được phát triển dựa trên các thuật tốn đã nĩi ở trên ví dụ với Bayes ta cĩ thuật tốn Nạve Bayes, với SVM ta cĩ các thuật tốn cải tiến như Fuzzy Support Vector Machines Cũng cĩ một số phương pháp người ta kết hợp các thuật tốn lại với nhau như SVM-NN việc kết hợp này sẽ tận dụng những ưu điểm và bổ sung những mặt yếu của các thuật tốn

1.3 Tình hình nghiên cứu và ứng dụng các thuật tốn phân lớp trong và ngồi nước

„‟Nghiên cứu và áp dụng một số kỹ thuật phân lớp dữ liệu với cơ sở dữ liệu ngành Thuế Việt Nam” của tác giả Nguyễn Thu Hà, luận văn thạc sỹ trường Đại học

Bách khoa Hà Nội năm 2006 với mục đích nghiên cứu một số phương pháp khai phá

dữ liệu, thử nghiệm khai phá dữ liệu trên tập cơ sở dữ liệu ngành Thuế Tuy nhiên

Trang 20

luận văn chỉ dừng lại ở mức áp dụng chủ yếu khai phá luật kết hợp và kỹ thuật phân lớp trên tập dữ liệu cho trước Kết quả khai phá ở luận văn chưa mang lại nhiều ý nghĩa thực tế nhưng cũng đã đem lại những ý nghĩa ban đầu của việc áp dụng các kỹ thuật khai phá để phát hiện ra những tri thức mới từ cơ sở dữ liệu

“Phân loại văn bản với máy học vector hỗ trợ” nghiên cứu của Trần Cao Đệ

và Phạm Nguyên Khang đăng trên Tạp chí Khoa học 2012 sử dụng công cụ học máy

áp dụng cho bài toán gán các nhãn phân loại lên một văn bản Ở nghiên cứu này, tác giả gán nhãn phân loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó

so vói các văn bản đã được gán nhãn trong tập huấn luyện Sau đó tác giả sử dụng máy học vector hỗ trợ (SVM) để phân lớp văn bản Tuy nhiên ở nghiên cứu này thuật toán SVM chưa được áp dụng một cách hiệu quả vào phân loại văn bản vì đặc điểm của bài toán phân loai văn bản là không gian đặc trưng thường rất lớn

“Một số phương pháp phân lớp dữ liệu và ứng dụng phân lớp dịch vụ Web”:

tác giả Phùng Thị Anh, luận văn thạc sỹ chuyên ngành khoa học máy tính Học viện Công Nghệ Bưu Chính Viễn Thông năm 2014 với mục đích nghiên cứu các thuật toán phân lớp theo hướng khai thác văn bản để phân loại các tài liệu WSDL (Web Service Description Language) Bằng các thuật toán phân lớp như máy học vector hỗ trợ (SVM), thuật toán Bayes và các luật kết hợp tác giả đã phân tích được mức độ phụ thuộc giữa các nội dung của WSDL với các thể loại của dịch vụ web khác nhau

“Phân lớp Bayes và ứng dụng” tác giả Trần Thị Hà luận văn thạc sỹ trường

Đại học Bách khoa Hà Nội năm 2014 Ở luận văn này, tác giả trình bày một cách tiếp cận thống kê trong việc dự đoán sự kiện dựa vào lý thuyết Bayes Thuật toán Bayes trong luận văn tính xác suất của sự kiện dựa vào các kết quả thống kê các sự kiện trong quá khứ Sau đó, tính toán mỗi sự kiện được gán xác suất tùy thuộc vào mỗi phương pháp đánh giá ứng với khả năng có thể xảy ra sự kiện đó, cuối cùng dựa vào

“ngưỡng” cho trươc để phân loại cho các sự kiện

“Nghiên cứu của Jinpeng Wang và các cộng sự về phương pháp học máy bán giám sát, phân loại ý định cho dữ liệu trên Twitter Công trình nghiên cứu này dựa

trên phương pháp học máy bán giám sát, sử dụng các tập đặc trưng để phân loại ý định với kết quả cao nhất là 58.64%

Trang 21

1.4 Đặt bài toán

1.4.1 Tình hình ở Tổng cục Thuế

Hiện nay, tại Tổng cục thuế việc quản lý thuế doanh nghiệp được hình thành

đã thể hiện tính kết hợp linh hoạt mô hình quản lý thuế theo hệ thống thông tin với quản lý thuế theo đối tượng, đảm bảo việc thu ngân sách Nhà nước tuân thủ các nghĩa

vụ cơ bản về khai và nộp thuế trực tuyến, nâng cao hiệu quả hoạt động, chất lượng quản lý và phục vụ người nộp thuế tốt hơn Nhưng trong qúa trình vận hành các chương trình tại cơ quan lớn như Tổng cục thuế đôi khi xảy ra các lỗi liên quan đến

hệ thống thông tin không mong muốn Chính vì vậy, hiện nay tại Tổng cục thuế Việt Nam, việc triển khai hệ thống chẩn đoán lỗi đang trong quá trình thử nghiệm với mục tiêu điều hành công tác tiếp nhận thông báo của người sử dụng và xử lý sự cố lỗi Bên cạnh đó, hệ thống chẩn đoán lỗi còn giúp cho các cấp quản lý theo dõi, thống kê được những lỗi thường xuyên xảy ra, từ đó đưa ra các biện pháp nâng cao chất lượng dịch

vụ, chất lượng phục vụ người dân và doanh nghiệp

Trong quy trình xử lý sự cố lỗi, sau khi tiếp nhận thông báo của khách hàng, đơn vị nhận thông báo cập nhật nguyên nhân lỗi khách hàng thực tế (Dạng Text) Đây là số liệu đóng một vai trò quan trọng nhằm phân lớp các nguyên nhân dẫn tới sự cố lỗi, mục đích chính để người quản trị đưa ra những quyết định chính xác hơn khi phân chia cho các nhân viên hỗ trợ giải quyết một cách nhanh chóng, kịp thời

1.4.2 Mô tả tập dữ liệu thực nghiệm cho bài toán

Bộ dữ liệu tôi tiến hành thực nghiệm bao gồm 1530 (xem phụ lục II) thông

báo trạng thái lỗi từ người dùng báo về thông qua các cuộc gọi, tin nhắn, văn bản gửi đến, hộp thư điện tử (Email) Các thông báo trên được phân thành 7 nhóm lỗi cụ thể: nguyên nhân khách quan, nguyên nhân do các thiết bị mạng, nguyên nhân do các lỗi phần mềm, nguyên nhân do máy chủ hoặc hệ thống, nguyên nhân do cơ sở dữ liệu, nguyên nhân do bảo mật thông tin, nguyên nhân khác Chúng tôi đã tiến hành tổng hợp số lượng các câu, phân loại và chia thành từng nhóm lỗi cụ thể vào bảng dưới đây:

Trang 22

Bảng 1.1: Số lƣợng thông báo lỗi của mỗi nhóm

2 Network Devices Nguyên nhân lỗi về các thiết

4 Server, system Các lỗi về máy chủ, hệ thống 236 15.42

7 Others Reason Các lỗi do nguyên nhân khác 194 12.68

Trang 23

Bảng 1.2: Cấu trúc file dữ liệu data.txt

The application's digital signature cannot be

verified Do you want to run the application Dấu tab Software

Time error: the digital signature Invalid Dấu tab Database

Waring: XML Version old, the system version

No Internet connection,

Maintenance server, wait for 30 minutes, loading Dấu tab Server, system what is the risk ?? Show all content Dấu tab Others Reason

There is a problem with this website's security

Java has discovered application components that

could indicate a security concern Dấu tab Security

1.4.3 Phân loại lỗi

Phân loại lỗi hay bản chất là phân loại văn bản có thể thực hiện ở cấp câu cũng như cấp đoạn văn bản [4] Mỗi câu, mỗi đoạn văn sẽ được xác định là có lỗi (lỗi có nguyên nhân cụ thể) hoặc không có lỗi (lỗi không có nguyên nhân cụ thể) Trong trường hợp nếu

có lỗi việc chẩn đoán lỗi sẽ được chia làm 07 loại lỗi cho trước, cụ thể:

Trang 24

Bảng 1.3: Các nhãn lỗi thu thập từ thông báo người sử dụng

2 Network Devices Nguyên nhân lỗi về các thiết bị mạng

4 Server, system Các lỗi về máy chủ, hệ thống

1.4.4 Đặt bài toán

Mục đích c ủa bài toán: Chẩn đoán, phân loại được các lỗi sự cố mà người

dùng đang gặp phải, có thế khách hàng không kê khai thuế được, lỗi java khi tiến hành nộp thuế, lỗi mạng hay bất kỳ thông báo gì được chuyển về

Đầu vào: Các thông báo bằng tin nhắn, điện thoại, văn bản, E-mail của người

sử dụng (người dân, doanh nghiệp, nhân viên ngành thuế) thông báo về phòng CNTT của Tổng cục thuế

Đầu ra: Chẩn đoán được các lỗi sự cố có trong các thông báo thu thập được

Ví dụ về bài toán chuẩn đoán, phân loại lỗi từ thông báo của khách hàng

Đầu vào: There is a problem with this website's security certificate

Đầu ra: Lỗi có nguyên nhân cụ thể :

Lỗi về bảo mật (Security)

Trang 25

Để giải quyết bài toán trên, quá trình chẩn đoán, phân loại lỗi người dùng gồm

2 giai đoạn:

Giai đoạn 1 : Giai đoạn huấn luyện

Giai đoạn 2 : Giai đoạn phân lớp (sử dụng thuật toán Bayes)

a) Giai đoạn huấn luyện

Giai đoạn này cho tập dữ liệu huấn luyện gồm các nội dung dưới dạng văn bản đã được gán nhãn, sau khi xử lý tập dữ liệu và áp dụng các thuật toán huấn luyện sẽ cho đầu ra là một mô hình phân loại, cụ thể:

Hình 1.1: Mô hình giai đoạn huấn luyện [6],[9]

Trong đó các bước cụ thể :

- Tiền xử lý dữ liệu: Chuyển đổi các dòng trạng thái trong tập dữ liệu thành

một hình thức phù hợp để phân loại

- Dữ liệu đã được xử lý: Tập dữ liệu đã được xử lý ở bước tiền xử lý như:

lọc nhiễu, loại bỏ các thông tin dư thừa…

- Xây dựng các đặc trưng: Trích xuất ra các đặc trưng từ nội dung lỗi của

người dùng bằng các đặc trưng từ vựng N-grams, đặc trưng Word vector nhằm loại

bỏ những từ (đặc trưng) không mang thông tin ra khỏi dữ liệu, nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật toán huấn luyện

- Biểu diễn vector dữ liệu : Mã hoá văn bản bởi một mô hình trọng số

BIỂU DIỄN VECTOR DỮ LIỆU

THUẬT TOÁN HUẤN LUYỆN

DỮ LIỆU ĐÃ ĐƯỢC PHÂN LỚP

Trang 26

- Thuật toán huấn luyện: Thủ tục huấn luyện để tìm ra các tham số tối ưu,

có thể sử dụng các thuật toán khác nhau, trong phạm vi luận văn chúng tôi sử dụng

2 thuật toán học máy gồm: Bayes và (MEM)

b) Giai đoạn phân lớp

Nhận đầu vào là nội dung thông báo lỗi của người dùng dưới dạng ngôn ngữ

tự nhiên (tiếng Anh), sau quá trình xử lý và áp dụng mô hình phân loại sẽ cho ra nhãn phân loại của văn bản đầu vào, cụ thể được biểu diễn dưới sơ đồ sau:

Hình 1.2 : Mô hình giai đoạn phân lớp [6],[9]

Tương tự như các bước trong giai đoạn huấn luyện, giai đoạn phân lớp có nhiệm vụ cụ thể :

- Tiền xử lý dữ liệu: Chuyển đổi các dòng thông báo lỗi trong tập dữ liệu thành

một hình thức phù hợp để phân loại như lọc nhiễu, loại bỏ các từ dư thừa

- Trích chọn đặc trưng: Trích xuất ra các đặc trưng từ nội dung trạng thái của người dùng bằng các đặc trưng từ vựng N-grams, đặc trưng Word vector

- Mô hình phân lớp: Sử dụng các thuật toán khác nhau như Bayes và (MEM) để

tiến hành phân loại và gán tên lỗi

1.5 Kết quả cần đạt được

Luận văn yêu cầu giải quyết bài toán chẩn đoán lỗi hệ thống CNTT ngành Thuế Luận văn tập trung chẩn đoán các dòng thông báo lỗi mà người dùng báo về Bằng việc nghiên cứu phương pháp học máy như: (MEM) [7], Bayes [8], (KNN) [14]

DỮ LIỆU ĐÃ ĐƯỢC PHÂN LỚP NHÃN LỖI

Trang 27

và các phương trích chọn đặc trưng: (N-G) [12], Word vector (Glove vector) [11], TF-IDF [19] áp dụng cho bài toán phân loại văn bản để đưa ra các giải pháp nhằm giải quyết bài toán chẩn đoán lỗi khách hàng bằng tiếng Anh Từ đó, tiến hành kiểm

tra, thực nghiệm, đánh giá kết quả thực nghiệm trên tập dữ liệu cho trước

1.6.Kết luận chương 1

Trong chương I chúng tôi giới thiệu khái quát về bài toán phân lớp dữ liệu, bài toán chẩn đoán lỗi CNTT ngành Thuế, và vấn đề liên quan các phương pháp phân lớp Ở chương tiếp theo, chúng tôi sẽ làm rõ các kỹ thuật học máy liên quan, các phương pháp thu thập và phân tích dữ liệu cho bài toán phân lớp, các chỉ tiêu đánh

giá phân lớp

Trang 28

CHƯƠNG 2 CÁC PHƯƠNG PHÁP HỌC MÁY ÁP DỤNG CHO BÀI TOÁN CHUẨN ĐOÁN LỖI CNTT NGÀNH THUẾ

Chương 2, luận văn trình bày một số phương pháp học máy cho bài toán phân loại văn bản (tiếng Anh) gồm có: Bayes [7], Maximum Entropy Model (MEM) [8], K-nearest neighbors (KNN)[14] Ngoài ra, luận văn sẽ tìm hiểu thu thập và phân tích

dữ liệu cho bài toán phân lớp, các chỉ tiêu đánh giá phân lớp văn bản

2.1 Các phương pháp học máy

Có nhiều thuật toán khác nhau cho phân lớp văn bản như Máy véc tơ hỗ trợ SVM (Support Vector Machine), K-láng giềng gần nhất (KNN), cây quyết định (Decision Tree), Mô hình Entropy cực đại (Maximum Entropy Model - MEM), v.v Tuy nhiên trong luận văn, tôi chỉ trình bày ba thuật toán là Bayes [7] và Maximum Entropy Model (MEM) [8], K-nearest neighbors (KNN) đây là các thuật toán được sử dụng nhiều trong phân loại văn bản

2.1.1 Phương pháp Bayes

a) Giới thiệu chung

Phương pháp phân lớp Bayes [7],[10] dựa trên mô hình xác suất thống kê Một thống kê có thể hiểu là một số đo cho một thuộc tính nào đó của một tập mẫu Mỗi giá trị thống kê được tính bằng một hàm nào đó và thông tin của một thống kê mang tính đại diện cho thông tin của tập mẫu mang lại Nói cách khác, các thống kê là những con số mang thông tin tóm tắt để mô tả một tập mẫu, từ đó gián tiếp mô tả thông tin của quần thể mà nó khảo sát

Khoa học thống kê là khoa học về thu thập, phân tích, diễn giải và trình bày các dữ liệu để từ đó tìm ra bản chất và tính quy luật của các hiện tượng kinh tế, xã hội

- tự nhiên Thống kê là một trong những công cụ quản lý vĩ mô quan trọng, cung cấp các thông tin thống kê trung thực, khách quan, chính xác, đầy đủ, kịp thời trong việc đánh giá, dự báo tình hình, hoạch định chiến lược, chính sách, xây dựng kế hoạch phát triển kinh tế - xã hội và đáp ứng nhu cầu thông tin thống kê của các tổ chức, cá nhân Trong số những vai trò quan trọng thì dự báo tình hình là một trong những vai trò mang nhiều ý nghĩa, nó có cả một quá trình huấn luyện bên trong và có tính xử lý

Trang 29

tự động khi đã được huấn luyện Hay nói khác hơn là khi đã có tri thức lấy từ các dữ

liệu thống kê hay kinh nghiệm của người dùng kết hợp với một phương pháp học

(huấn luyện) dựa trên lý thuyết thống kê ta sẽ có được một cỗ máy có tri thức để tự

nó có thể đưa ra được những quyết định với độ chính xác cao

Trong khoa học thống kê, có hai trường phái “cạnh tranh” song song với nhau,

đó là trường phái tần số (Frequentist School) và trường phái Bayes (Bayesian

School) Suy luận Bayes là một kiểu suy luận thống kê trong đó các quan sát hay

bằng chứng được dùng để cập nhật hoặc suy luận ra xác suất cho một giả thuyết có

thể là đúng

b) Thuật toán

Theo lý thuyết học Bayes, nhãn phân loại được xác định bằng cách tính xác

suất điều kiện của nhãn khi quan sát thấy tổ hợp giá trị thuộc tính <x1, x2,…., xn>

Thuộc tính được chọn, ký hiệu cMAP là thuộc tính có xác suất điều kiện cao nhất

Sử dụng quy tắc Bayes, biểu thức trên được viết lại như

cMAP = arg max

Giá trị P(c j ) được tính bằng tần suất quan sát thấy nhãn c j trên tập huấn

luyện, tức là bằng số mẫu có nhãn là cj chia cho tổng số mẫu Việc tính P(x 1 ,

x 2 , ,x n |c j ) khó khăn hơn nhiều

Để tính giá trị này, ta giả sử các thuộc tính là độc lập về xác suất với nhau khi

biết nhãn phân loại cj

Với giả thiết về tính độc lập xác suất có điều kiện P(x 1 , x 2 , ,x n |c j ) được

viết lại như sau:

P(x 1 , x 2 , ,x n | c j ) = P(x 1 | c j ) P(x 2 | c j ) … P(x n | c j ) (2.4)

Trang 30

Tức là xác suất đồng thời quan sát thấy các thuộc tính bằng tích xác suất

điều kiện của từng thuộc tính riêng lẻ Thay vào biểu thức (2.3) ta được bộ phân

loại Bayes đơn giản (có đầu ra ký hiệu là cN B) như sau:

cNB = arg max P(cj ) ∏ (2.5)

c j ϵ C

Phân loại văn bản dựa trên thuật toán Bayes

Để sử dụng phân loại Bayes đơn giản, mỗi nội dung tin tức được biểu diễn

bởi một vectơ x = (x 1 , x 2 , …, x n ), trong đó x 1 , x 2 , …, x n là giá trị của đặc

trưng X 1 , X 2 ,…, X n Tương ứng mỗi đặc trưng có thể là một từ hoặc một cụm từ

Ở đây, n là số lượng đặc trưng được xác định từ toàn bộ tập dữ liệu huấn luyện, tức

là số lượng từ/cụm từ khác nhau trong tập dữ liệu huấn luyện

Mỗi tin tức được gán một nhãn phân loại Y = {y 1 , y 2 , …, y m }

Để xác định nhãn phân loại cho thư, bộ phân loại Bayes tính xác suất điều kiện:

P (Y = y | X 1 = x 1 ,…, X n = x n ) (2.6)

tức là xác suất một tin tức với nội dung (x 1 , x 2 , …, x n ) nhận nhãn phân loại

y {y 1 , y 2 , …, y m } Sử dụng công thức Bayes, xác suất trên được tính như sau: P(Y = y|X 1 = x1 , , X n=xn =

Trong công thức (2.7), giá trị mẫu số không phụ thuộc vào nhãn phân loại và

do vậy có thể bỏ qua Nhãn phân loại Y là nhãn tương ứng với giá trị lớn nhất của

tử số Cụ thể, trong trường hợp phân loại tin tức điện tử, nhãn của tin tức được xác định bằng cách tính giá trị biểu thức:

Y MAP = arg max yj ϵ Y

Trang 31

Cĩ một số cách tính giá trị P (X= → | Y = y) khác nhau tương ứng với các

phiên bản khác nhau của phương pháp phân loại văn bản sử dụng Bayes đơn giản Trong nghiên cứu này, luận văn sẽ tìm hiểu hai phiên bản thơng dụng nhất: Bayes đơn giản với mơ hình Bécnuli đa trị (Multivariate Bernoulli Nạve Bayes) và Bayes đơn giản với mơ hình đa thức (Multinomial Nạve Bayes)

Phân loại Bayes đơn giản với mơ hình Bécnuli đa trị

Trong đĩ, xác suất P(f i | Y = y) là tỷ lệ tin tức với nhãn y đồng thời cĩ chứa

f i trong số tin tức cĩ nhãn y Tỷ lệ này được tính trên tập dữ liệu huấn luyện Xác

b) Cơ sở lý thuyết

Để nghiên cứu về bài tốn, chúng ta theo dõi cách xử lý của một bài tốn bất

kỳ trong một vài lần, sẽ tập hợp được một số lượng lớn các mẫu (x 1 , y 1 ), (x 2 ,y 2 ), , (x N ,y N ) Trong ví dụ, chúng ta đã thấy rằng, mỗi mẫu sẽ gồm cĩ một nhĩm X chứa

các từ xung quanh “in”, cùng với một khả năng được dịch y của từ “in” mà bài

tốn đưa ra Bây giờ chúng ta cĩ thể tưởng tượng rằng những mẫu huấn luyện đĩ cĩ thể được sinh ra bởi một nhà chuyên gia người đã đưa ra con số ngẫu nhiên cho các

cụm từ chứa “in” và câu trả lời cho lựa chọn dịch tốt nhất trong mỗi lần nghiên cứu

Trang 32

Chúng ta có thể tổng hợp mẫu huấn luyện liên quan tới chính phân phối xác suất

thực nghiệm của nó P, được định nghĩa như sau:

P(x, y) = 1/ X (số lần xuất hiện của cặp (x,y) trong mẫu)

c) Mô tả thuật toán

Từ nguyên lý Entropy cực đại ta có thể phát biểu lại rằng: tư tưởng chủ đạo của Entropy cực đại là ta phải xây dựng được một phân phối thoả mãn các ràng buộc

và gần nhất với phân phối đều Vấn đề đặt ra ở đây là làm thế nào để ta tối ưu được

các ràng buộc, tức tìm ra được p* C làm cực đại H (p) Trong những trường

hợp đơn giản, chúng ta dễ dàng tìm ra mô hình phù hợp bằng các phương pháp giải tích Tuy nhiên trong thực tế, số các ràng buộc là rất lớn và chồng chéo nhau Vì vậy, chúng ta sẽ giải bài toán này theo một hướng tiếp cận khác

Với mỗi một đặc trưng f i, ta đưa vào một tham số λi là một thừa số nhân

Lagrange Hàm Lagrange Λ( p, λ) được định nghĩa như sau:

Λ( p, λ) = ∑ (fi ) (2.13) Theo lý thuyết thừa số Lagrange, phân phối xác suất p(y | x) làm cực đại độ

đo Entropy H (p) và thoả mãn tập ràng buộc C thì cũng làm cực đại hàm Λ( p, λ) trên không gian phân phối xác xuất P Gọi Pλ là mô hình làm cực đại hàm Lagrange

Λ( p, λ), và Ψ(λ) là giá trị cực đại

P λ = arg max Λ (p, λ) với p € P

Ψ(λ) = Λ( p, λ)

Ta gọi Ψ(λ) là hàm đối ngẫu (Dual Function) Các hàm pλ, Ψ(λ) đã được

tính toán, chúng có công thức như sau:

p λ (y|x) =

exp (∑ i f i (x,y))) (2.14)

Trong đó Z λ (x) là hằng số chuẩn hóa được quyết định bởi yêu cầu

Σ y p λ (y|x) = 1 cho toàn bộ x

Zλ(x) = -∑ifi(x,y))) (2.15)

Cuối cùng thay cho việc phải tìm phân phối thoả mãn tập ràng buộc lớn và

phức tạp làm cực đại độ đo Entropy, ta đưa về bài toán chỉ cần tìm tập tham số λ* làm cực đại hàm đối ngẫu Ψ(λ) không còn ràng buộc

Trang 33

Kết quả này có một ý nghĩa quan trọng Khi đó, bất kì một thuật toán tìm cực

đại λ* cho hàm Ψ(λ) có thể sử dụng để tìm ra phân phối cực đại * p của H ( p) thoả mãn * p C

Nguyên lý, Entropy cực đại còn có mối quan hệ cực đại với Likelihood

Log-likelihood L ( p ) của phân phối thực nghiệm p dự đoán trước bởi xác suất mô hình p

Với cách giải thích này, kết quả của phần trước có thể được viết lại như sau:

mô hình p* € C với cực đại Entropy là mô hình trong đó họ tham số p λ (y|x) mà nó

cực đại likelihood của xác suất mẫu huấn luyện p

Kết quả này có một ý nghĩa quan trọng Khi đó, bất kì một thuật toán tìm cực đại

λ* cho hàm Ψ(λ) có thể sử dụng để tìm ra phân phối cực đại * p của H ( p) thoả mãn* p C

d) Áp dụng cho bài toán phân loại văn bản

Để thực hiện phương pháp học máy này với dữ liệu văn bản, chúng ta sử dụng

các đặc trưng N-G Đặt {fb , fm } là một bộ được xác định trước của đặc trưng

m có thể xuất hiện trong một tài liệu, ví dụ bao gồm từ “still” hoặc “really stinks” Đặt ni(d) là số lần xuất hiện của fi trong tài liệu d

Tiếp theo, mỗi vector đặc trưng đại diện cho 1 văn bản (d) Phân loại MEM

[8] là một kỹ thuật thay thế hiệu quả đã được chứng minh trong một ứng dụng xử lý ngôn ngữ tự nhiên cho thấy rằng đôi khi nhưng không phải lúc nào cũng thực hiện tốt

hơn Naive Bayes về phân loại văn bản chuẩn Nó ước tính P(c/d) theo dạng số mũ

Trang 34

Cho ví dụ, một đặc trưng đặc biệt / lớp hàm có thể chạy khi và chỉ khi

<bigram> “still hate” xuất hiện và quan điểm của tài liệu được giả thuyết là tiêu

cực Điều quan trọng là không giống như Naive Bayes, MEM không giả định về mối quan hệ giữa các đặc trưng, và vì vậy có thể có khả năng thực hiện tốt hơn khi giả định điều kiện độc lập không được đáp ứng

Trong đó là các tham số của đặc trưng, kiểm tra định nghĩa của Pme cho

thấy rằng c lớn có nghĩa fi được xét đến là 1 chỉ số quan trọng của lớp c Các giá trị

của tham số được thiết lập để cực đại hóa Entropy trong sự phân loại đưa ra tùy theo điều kiện ràng buộc đó mà các giá trị được kỳ vọng của lớp các hàm, đối với bản mẫu bằng những giá trị kỳ vọng của chúng, đối với dữ liệu huấn luyện: triết lý cơ bản đó

là chúng ta nên chọn mô hình tạo ra các giả định ít nhất về dữ liệu trong khi “still”

vẫn còn phù hợp với nó, làm ý nghĩa trực quan hơn

2.1.3.Thuật toán K láng giềng gần nhất

a) Giới thiệu

KNN [14] được sử dụng rất phổ biến trong lĩnh vực Data Mining KNN là phương pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần xếp lớp với tất cả các đối tượng trong Training Data

Một đối tượng được phân lớp dựa vào k láng giềng của nó K là số nguyên dương được xác định trước khi thực hiện thuật toán Người ta thường dùng khoảng cách Euclide để tính khoảng cách giữa các đối tượng

b) Cơ sở lý thuyết

Bộ phân lớp dựa trên thuật toán K người láng giềng gần nhất là một bộ phân lớp dựa trên bộ nhớ, đơn giản vì nó được xây dựng bằng cách lưu trữ tất cả các đối tượng trong tập huấn luyện Để phân lớp cho một điểm dữ liệu mới x, trước hết bộ phân lớp sẽ tính khoảng cách từ điểm dữ liệu trong tập huấn luyện Qua đó tìm được

tập N(x, D, k) gồm k điểm dữ liệu mẫu có khoảng cách đến x là gần nhất

Ví dụ nếu các dữ liệu mẫu được biểu diễn bởi không gian vector thì chúng tôi

có thể sử dụng khoảng cách Euclide để tính khoảng cách giữa các điểm dữ liệu với

nhau Sau khi xác định được tập N(x, D, k), bộ phân lớp sẽ gán nhãn cho điểm dữ liệu x bằng lớp chiếm đại đa số trong tập N(x, D, k) Mặc dù rất đơn giản, nhưng thuật

toán K người láng giềng gần nhất đã cho kết quả tốt trong nhiều ứng dụng thực tế

Trang 35

Để áp dụng thuật toán K người láng giềng vào tài liệu văn bản, chúng tôi sử dụng hàm tính trọng số cho mỗi lớp theo biểu thức:

(2.19)

trong đó:

N c ( x , D , k ) là tập con chỉ chứa các đối tượng thuộc lớp c của tập N (x , D , k )

Khi đó tài liệu x sẽ được phân vào lớp c 0 nếu:

{ } (2.20)

Phương pháp K người láng giềng gần nhất là một phương pháp đơn giản Tuy nhiên, thuật toán này ổn định và sai sót thấp khi số văn bản trong tập văn bản láng giềng phải lớn

c) Mô tả thuật toán

- Xác định giá trị tham số K (số láng giềng gần nhất)

- Tính khoảng cách giữa đối tượng cần phân lớp với tất cả các đối tượng trong training data (thường sử dụng khoảng cách Euclide, Cosine…)

- Sắp xếp khoảng cách theo thứ tự tăng dần và xác định k láng giềng gần nhất với đối tượng cần phần lớp

- Lấ y tất cả các lớp của k láng giềng gần nhất đã xác định

Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho đối tượng

d) Nhận xét thuật toán

- Rất đơn giản, không có quá trình học

- Khi phân loại mất nhiều thời gian, do quá trình tìm kiếm k dữ liệu lân cận, sau đó phân loại dựa trên majority vote (hồi quy dựa trên giá trị trung bình)

- Kết quả phụ thuộc vài việc chọn khoảng cách sử dụng

- Có thể làm việc trên nhiều loại dữ liệu khác nhau

- Giải quyết các vấn đề về phân loại, hồi quy, gom nhóm,

- Cho kết quả tốt, tuy nhiên độ phức tạp của quá trình phân loại khá lớn

- Được ứng dụng thành công trong hầu hết các lãnh vực tìm kiếm thông tin, nhận dạng, phân tích dữ liệu, etc

e) Áp dụng cho bài toán phân loại văn bản

Ý tưởng: Khi cần phân loại một văn bản mới, thuật toán sẽ tính khoảng cách

(khoảng cách Euclide, Cosine…) của tất cả các văn bản trong tập huấn luyện đến văn

Trang 36

bản này để tìm ra k văn bản gần nhất (gọi là k “láng giềng”), sau đó dùng các khoảng cách này đánh trọng số cho tất cả chủ đề Trọng số của một chủ đề chính là tổng tất

cả các văn bản trong k láng giềng có cùng chủ đề, chủ đề nào không xuất hiện trong k láng giềng sẽ có trọng số bằng 0 Sau đó các chủ đề sẽ được sắp xếp theo mức độ giảm dần và các chủ đề có trọng số cao sẽ được chọn là chủ đề của văn bản cần phân loại

Khoảng cách giữa 2 văn bản chính là độ tương tự giữa 2 văn bản đó, 2 văn bản

có giá trị độ tương tự càng lớn thì khoảng cách càng gần nhau

Ví dụ: Dùng công thức Cosine để tính độ tương tự giữa 2 văn bản:

⃗ ⃗ ⃗ ⃗ ‖ ⃗‖ ‖ ⃗⃗‖ ⃗ ⃗⃗ (2.21)

Văn bản A: I am a student

Văn Bản B: I am a teacher

Văn bản C: I am a doctor

Biểu diễn văn bản theo vector:

Bảng 2.1: Biểu diễn văn bản theo vector

I Am A Student Teacher Doctor

Hướng dẫn cài đặt: Thông thường các thuật toán sẽ gồm 2 giai đoạn huấn

luyện và phân lớp, riêng đối với thuật toán KNN do thuật toán này không cần tạo ra

Trang 37

mô hình khi làm trên tập huấn luyện các văn bản đã có nhãn/lớp sẵn, nên không cần giai đoạn huấn luyện (giai đoạn huấn luyện của KNN là gán nhãn cho các văn bản trong tập huấn luyện bằng cách gom nhóm các văn bản có vector đặc trưng giống nhau thành cùng 1 nhóm)

Mô tả vector đặc trưng của văn bản: là vector có số chiều là số đặc trưng trong toàn tập dữ liệu, các đặc trưng này đôi một khác nhau Nếu văn bản có chứa đặc trưng

đó sẽ có giá trị 1, ngược lại là 0

Đầu vào:

- Vector đặc trưng của văn bản cần phân lớp

- Các vector đặc trưng của văn bản trong tập huấn luyện (Ma trận MxN, với

M là số vector đặc trưng trong tập huấn luyện, N là số đặc trưng của vector)

- Tập nhãn/lớp cho từng vector đặc trưng của tập huấn luyện

Đầu ra:

- Nhãn/lớp của văn bản cần phân loại

Quá trình phân lớp gồm các bước sau:

Bước 1: Xác định giá trị tham số K (số láng giềng gần nhất) Tùy vào mỗi tập

huấn luyện (số lượng mẫu trong tập huấn luyện, không gian tập mẫu có phủ hết các

trường hợp…) mà việc chọn số K sẽ ảnh hưởng đến kết quả phân lớp

Bước 2: Lần lượt duyệt qua các văn bản (được đại diện bằng vector đặc trưng

của văn bản) trong tập huấn luyện và tính độ tương tự của văn bản đó với văn bản cần

phân lớp

Bước 3: Sau khi đã có mảng các giá trị lưu độ tương tự của văn bản cần phân

lớp với các văn bản trong tập huấn luyện, ta sắp xếp độ tương tự các văn bản theo thứ

tự giảm dần (lưu ý đây là độ tương tự, độ tương tự càng lớn tức là khoảng cách càng gần) và lấy ra k văn bản đầu tiên trong mảng (tức là k văn bản gần với văn bản cần

phân lớp nhất)

Bước 4: Khởi tạo mảng A có độ dài bằng số phân lớp để lưu số văn bản của

mỗi lớp Duyệt qua k văn bản, đếm số văn bản trong từng phân lớp và lưu vào mảng

Bước 5: Duyệt qua mảng A, tìm lớp có số văn bản nhiều nhất và chọn là lớp

cho văn bản mới

Trang 38

2.2 Các chỉ tiêu đánh giá phân lớp

Để đánh giá kết quả phân loại văn bản, ta sử dụng một số chỉ số đánh giá:

x: Một ví dụ trong tập thử nghiệm D_test

o(x): Giá trị đầu ra (phân lớp) bởi hệ thống đối với ví dụ x

c(x): Phân lớp thực sự (đúng) đối với ví dụ x

b) Ma trận nhầm lẫn (Confusion Matrix)

Ma trận nhầm lẫn (Confusion Matrix ) còn được gọi là Contingency Table và chỉ được sử dụng đối với bài toán phân loại Ma trận nhầm lẫn (Confusion Matrix) được mô tả dưới bảng sau:

TPi : Số lượng các ví dụ thuộc lớp ci được phân loại chính xác vào lớp ci

FPi: Số lượng các ví dụ không thuộc lớp ci bị phân loại nhầm vào lớp ci

Trang 39

TNi: Số lƣợng các ví dụ không thuộc lớp ci đƣợc phân loại (chính xác)

FN i: Số lƣợng các ví dụ thuộc lớp ci bị phân loại nhầm (vào các lớp khác ci)

P = tổng số các ví dụ thuộc lớp ci

N = tổng số các ví dụ thuộc lớp khác ci

c) Precision và recall (Độ chính xác và Độ hồi tưởng)

Precision: trong tập tìm đƣợc thì bao nhiêu cái (phân loại) đúng

Recall: trong số các tồn tại, tìm ra đƣợc bao nhiêu cái (phân loại)

Rất hay đƣợc sử dụng để đánh giá các hệ thống phân loại văn bản

- Precision đối với lớp c i

(2.25)

→ Tổng số các ví dụ thuộc lớp c i đƣợc phân loại chính xác chia cho tổng số các ví

dụ đƣợc phân loại vào lớp c i

- Recall đối với lớp c i

Trang 40

- F1 có xu hướng lấy giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall

- F1 có giá trị lớn nếu cả 2 giá trị Precision và Recall đều lớn

2.3.Kết luận chương 2

Trong chương II, dựa vào những yêu cầu của bài toán phân loại lỗi CNTT ngành Thuế, chúng tôi đã tìm hiểu, tiếp cận bài toán và đưa ra được các phương pháp học máy tối ưu để giải quyết bài toán trên Các phương pháp học máy được trình bày

cho bài toán phân loại lỗi (văn bản) gồm có: Thuật toán Bayes [7], thuật toán (MEM) [8], thuật toán (KNN)[14] Bên cạnh đó, chúng tôi cũng tiến hành tìm hiểu, thu thập

dữ liệu làm đầu vào cho bài toán phân lớp, song song với đó là tìm hiểu các chỉ tiêu đánh giá phân lớp văn bản

Ngày đăng: 27/10/2019, 20:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w