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

Phân lớp đa nhãn và ứng dụng ho bài toán phân loại tin nhắn văn bản sms

108 2 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 đề Phân Lớp Đa Nhãn Và Ứng Dụng Cho Bài Toán Phân Loại Tin Nhắn Văn Bản SMS
Tác giả Đào Xuân Dương
Người hướng dẫn TS. Trịnh Anh Phúc
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2019
Thành phố Hà Nội
Định dạng
Số trang 108
Dung lượng 3,46 MB

Nội dung

71 Trang 8 vi DANH M C CÁC ỤKÝ HIỆU VÀ CH VI T T T ỮẾẮKí hiệu Tiếng Anh Tiếng Việt SMS Short Message Services Dịch vụ tin nhắn ngắn qua mạng di động Spam SMS Spam SMS Tin nhắn rác Telco

Trang 1

PHÂN LỚP ĐA NHÃN VÀ ỨNG DỤNG CHO BÀI TOÁN

PHÂN LOẠI TIN NHẮN VĂN BẢN SMS

LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN

Trang 2

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

-

Đào Xuân Dương

Chuyên ngành : Công ngh thông tin ệ

LUẬN VĂN THẠC SĨ KỸ THU T Ậ CÔNG NGH THÔNG TIN Ệ

NGƯỜI HƯỚNG DẪN KHOA HỌC :

TS TRỊNH ANH PHÚC

Hà N ội – 2019

Trang 3

i

L I C Ờ ẢM ƠN

Luận ă v n t nghi ốt ệp thạc sĩ chuyên ngành Công ng thông tin hệ được hoàn thành t ại Trường Đại học Bách Khoa Hà Nội Để có được b n lu n v n t t nghi p ả ậ ă ố ệnày, xin lòng b chân thành và sâu tôi tỏ iết ơn sắc đế Trường Đại học Bách Khoa n

Hà Nội Viện Công nghệ thông tin và Truyền thông đặc, , biệt Tlà S Trịnh Anh Phúc

đã trực tiếp h ng n, dìu dướ dẫ ắt, giúp đỡ tôi v nh g c ới ữn hỉ dẫn k a ho học quý giá trong suốt quá t nh rì tri khai, n iên cển gh ứu và ho thành àn đề tài nghiên c u cứ ủa mình Tôi xin ch thành c m ân ả ơncác hầ cô t y, giáo c p g ng d y, uyđãtrự tiế iả ạ tr ền đạt

nh ng kữ iến thức khoa h c chuyên ngành Công nghệ t ng tin cho n thân ọ hô bả tôi trong toàn b thộ ời gian c khó h ủa a ọc

Tôi xin trân trọng cảm ơn các thầy cô trong hội đồng chuyên môn đã đóng góp các ý kiến quý báu để tôi hoàn thiện luận văn

Cuối cùng, tôi muốn gửi lời cảm ơn sâu sắc đến gia đình, bạn bè, đồng nghiệp

đã giúp đỡ, trao đổi và chia sẻ những kinh nghiệm về chuyên môn, đóng góp các ý kiến quý báu Đặc biệt là những người đã đóng góp, hỗ trợ, cho phép tôi thu thập và chia sẻ các dữ liệu thực nghiệm để có thể hoàn thành quá trình nghiên cứu luận văn này

Mặc dù có nhiều cố gắng để thực hiện đề tài, song do mới làm quen với công tác nghiên cứu khoa học, tiếp cận với công nghệ mới cũng như thời gian có hạn nên không thể tránh khỏi những thiếu sót nhất định Tôi rất mong được sự góp ý của Quý thầy, cô và các bạn bè đồng nghiệp để đề tài được hoàn chỉnh hơn

X chân thành in cảm ơn!

Trang 4

ii

L I Ờ CAM ĐO ANTôi xin cam đoan đây là bản luận văn của riêng tôi Các kết quả nêu trong luận văn là chính xác và trung thực chưa từng được ai công bố trong bất kỳ đề tài,

công trình nghiên cứu nào khác

Tôi xin cam đoan rằng các thông tin trích dẫn trong luận văn đều đã được chỉ

rõ nguồn gốc

Ngày 01 tháng n 10 ăm 2019

Trang 5

iii

M C L C Ụ Ụ

L I CỜ ẢM ƠN i

L I Ờ CAM ĐOAN ii

M C L C Ụ Ụ iii DANH M C CÁC KÝ HIỆU VÀ CH VI T T T viỮ Ế Ắ DANH M C CÁC BỤ ẢNG 1

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

PHẦN MỞ ĐẦU 3

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

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

3 Đối tượng, phạm vi nghiên cứu, phương pháp nghiên cứu 4

4 Bố cục của luận văn 5

5 Đóng góp của luận văn 6

CHƯƠNG 1 - TỔNG QUAN VỀ DỮ LIỆU TIN NHẮN RÁC VÀ CÁC PHƯƠNG PHÁP PHÂN LOẠI TIN NHẮN RÁC 7

1.1 Tin nhắn rác và thực trạng tin nhắn rác ở Việt Nam 7

1.2 Đặc điểm của tin nhắn văn bản tiếng Việt 9

1.2.1 Đặc điểm tin nhắn văn bản tiếng Việt 9

1.2.2 Cách phân loại tin nhắn spam SMS 10

1.3 Tác hại của tin nhắn rác (spam SMS) 11

1.4 Phương pháp phân loại spam SMS 12

1.4.1 D a v ự ào nguồn phát tán tin nhắn rác 12

1.4.2 Lọc tin nhắn dựa vào nội dung 13

Tổng kết chương 1 14

CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT 15

2.1 Cơ sở lý thuyết về xử lý ngôn ngữ 15

2.1.1 Xử lý ngôn ngữ tự nhiên 15

Trang 6

iv

2.1.2 Kỹ thuật tách từ (Words segmentation) 16

2.1.3 Một số phương pháp trích chọn đặc trưng 17

2.2 Phân lớp nhị phân/đơn nhãn (Binary Classification/Single Label Classification) 22

2.3 Phân lớp đa nhãn (Multi-Label Classification) 23

2.3.1 Bài toán phân lớp đa nhãn tổng quát 23

2.3.2 Phân biệt phân lớp đa nhãn (Multi Label) với đa lớp (Multi- -Class) 24

2.3.3 Các kỹ thuật phân lớp đa nhãn 24

2.3.4 Lựa chọn thuật toán 25

2.4 Cơ sở mô hình thống kê 31

2.4.1 Thuật toán Naive Bayes 31

2.4.2 Thuật toán SVM 32

2.4.3 Thuật toán Logistic Regression 35

2.5 Các tiêu chí đánh giá mô hình phân lớp đa nhãn 37

2.5.1 Các độ đo dựa trên mẫu 37

2.5.2 Các độ đo dựa trên nhãn 38

2.5.3 Thời gian chạy thuật toán 40

2.5.4 Lựa chọn các tiêu chí đánh giá 41

Tổng kết chương 2 41

CHƯƠNG 3 - THU THẬP VÀ TIỀN XỬ LÝ DỮ LIỆU 42

3.1 Thu thập và gán nhãn dữ liệu 42

3.1.1 Dữ liệu thực nghiệm 42

3.1.2 Dữ liệu phân lớp 43

3.1.3 Gán nhãn và phân bố dữ liệu theo nhãn 44

3.1.4 Từ khóa và đặc trưng của dữ liệu thực nghiệm theo nhãn 46

3.2 Tiền xử lý dữ liệu 50

3.2.1 Chuẩn hoá từ (Sterming) 51

3.2.2 Làm sạch dữ liệu (clean data) 52

3.2.3 Loại bỏ StopWords (remove stopwords) 52

Trang 7

v

3.2.4 Tách từ (words segmentation) 52

3.3 Trích chọn đặc trưng và véc tơ hĩa từ với TF-IDF 53

Tổng kết chương 3 54

CHƯƠNG 4 - KẾT QUẢ VÀ BÀN LUẬN 55

4.1 Mơ hình tổng quát bài tốn 55

4.2 Mơi trường thực nghiệm 56

4.2.1 Cấu hình phần cứng thực nghiệm 56

4.2.2 Các thư viện sử dụng 56

4.3 Lựa chọn thuật tốn huấn luyện 56

4.4 Thực nghiệm và đánh giá kết quả 57

4.5 Tối ưu tham số mơ hình với GridSearch 58

4.6 Kết quả thực nghiệm 60

4.6.1 Binary Relevance với Gaussian Nạve Bayes, SVC và Logistic Regression 60

4.6.2 Classifier Chains với Gaussian Nạve Bayes 64

4.6.3 Multi-label K-Nearest Neighbours (ML-kNN) 65

4.7 Nhận xét và Đánh giá 67

4.7.1 So sánh chất lượng phân lớp các thuật tốn trên 2 bộ dữ liệu thực nghiệm 67

4.7.2 So sánh ảnh hưởng của độ lớn dữ liệu đối với thời gian chạy các thuật tốn 68

4.7.3 So sánh chất lượng phân loại trước và sau khi đề xuất phương pháp cải tiến cơng đoạn tiền xử lý dữ liệu 69

4.7.4 Nhận xét 70

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71

1 Các kết quả chính đạt được trong luận văn 71

2 Hạn chế của luận văn 71

3 Hướng nghiên cứu tiếp theo 72 TÀI LIỆU THAM KH O 73

Trang 8

vi

DANH M C CÁC KÝ HI ỆU VÀ CH VI T T T Ữ Ế Ắ

SMS Short Message Services Dịch vụ tin nhắn ngắn qua mạng di động

Telco Telecom Company = Operator Nhà cung cấp dịch vụ viễn thơng

BrandName BrandName Tên thương hiệu (hiển thị thay cho số điện thoại người gửi)

AI Artificial Intelligence Trí tuệ nhân tạo

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

DL Deep Learning Kỹ thuật học máy dựa trên mạng nơ ron (Neural network) SVM Support Vector Machine Máy vectơ hỗ t rợ

TF-IDF Term Frequency Inverse Document Frequency Trọng s v t su t và quan trọng của t ố ề ầnừ ấ độ

BOW Bag of Words Mơ hình xử lý ngơn ngữ tự nhiên tiếp cận theo hướng dãy từ N-Gram Statistical N-Gram Language Modeling Mơ hình ngơn Gram ngữ thống kê N-StopWords Từ dừng/từ loại Những từ mang ý nghĩa cảm thán, xuất hiện nhiều trong văn bản, nhưng

khơng lại mang nhiều ý nghĩa MLC Multi-Label Classiffication Phân lớp đa nhãn

FS Feature Selection L a ch ự ọn đặc ư tr ng

OVR One-vs-against-rest, one-vs-all, one-rest hay cịn gọi là one

-against-rest, hoặc one-against all-

Phương pháp phân loại mỗi lớp với mọi lớp cịn lại

BR Binary Relevance Mơ hình phân lớp tương hợp nhị phân MNB Multinomial Nạve Bayes Mơ hình Multinomial Nạve Bayes GNB Gaussian Naive Bayes Mơ hình Gaussian Nạve Bayes

ML-kNN Multi-Label k Nearest Neighbour Phương pháp phân lớp đa nhãn k Láng giềng gần nhất

Bộ TT&TT Ministry of Information and

Communications Bộ Thơng tin và Truyền thơng

Trang 9

Phân lớp đa nhãn và ứng dụng cho bài tốn phân loại tin nhắn văn bản SMS Trang 1

B ng 1.1 Thố ng kê s lư ng tin nh n qu ng cáo t 2015-2017 (Ngu n VnCert) 8 ố ợ ắ ả ừ ồ

B ng 1.2 Thố ng kê s lư t phố ợ ản ánh tin rác qua các năm 2015-2018 (theo VnCert) 8

Bng 1 So sánh các c u trúc Tin nh n SMS v 3 ấ ắ ới thư điệ ửn t (email) 14

B ng 2.1 Ví dụ 2 n i dung n i dung tin nh n cho n-gram 19 ộ ộ ắ

Bảng 2.2 V í dụ túi t v ng unigram 19 ừ ự

Bảng 2.3 Ví dụ vec-tơ đặc trưng của unigram 20

B ng 2.4 Ví dụ túi t v ng bi-grams 20 ừ ự

B ng 2.5 Ví dụ vec-tơ đặc trưng của bi-grams 20

B ng 2.6 Ví dụ bài tốn phân l p Binary Relevance 26

B ng 2.7 Các b phân nhãn nh ộ ị phân tương ứng vi 4 nhãn 26

B ng 2.8 Ví dụ bài tốn phân l p Classifier Chain 28

Bảng 2.9 Các b ộ phân nhãn tương ứng v i 4 nhãn trong Classifier Chains 28

B ng 2.10 Các tham s s dố ử ụng đánh giá mơ hình phân lớp 41

Bng 3 B ng s u th ng kê B d u th 1 ả ốliệ ố ộ ữliệc nghiệm 1 42

B ng 3.2 B ng s u th ng kê B d u thả ốliệ ố ộ ữliệc nghiệm 2 42

B ng 3.3 D u phân l p 43 liệ

Bảng 3.4 Phân bố ữ liệ d u th c nghi m vào các nhĩm nhãn 44 ự ệ

B ng 3.5 B t ộ ừ điển chu n hĩa t ẩ ừviết tắ ế t ti ng Vi t 51

B ng 4.1 C u hình ph n c ng th c nghi m 56 ấ ầ ứ ự ệ

B ng 4.2 ả Các gĩi thư viện x lý chính 56

B ng 4.3 So sánh chất lượng phân l p c a thuớ ủ ật tốn Binany Relevance sử ụ d ng 3

mơ hình Gaussian Nạve Bayes, SVC và Logistic Regression 60

B ng 4.4 Chỉ ố đánh giá dự s a trên nhãn c a thu t tốn BR s d ng GNB 61 ủ ậ ử ụ

B ng 4.5 Chỉ ố đánh giá dự s a trên nhãn c a thu t tốn BR s d ng SVC 62 ủ ậ ử ụ

B ng 4.6 Chỉ ố đánh giá dự s a trên nhãn c a thu t tốn Binary Relevance s d ng ủ ậ ử ụ

Logistic Regression 63

B ng 4.7 ả Các độ đo dựa trên m u c a thu t tốn Classifier Chains 64 ẫ ủ ậ

B ng 4.8 Chỉ ố đánh giá dự s a trên nhãn c a Classifier Chains v i GNB 64 ủ ớ

B ng 4.9 ả Các tiêu chí đánh giá dựa trên m u c a thu t tốn ML-kNN 65 ẫ ủ ậ

B ng 4.10 Chỉ ố đánh giá dự s a trên nhãn c a thu t tốn ML-kNN 65 ủ ậ

B ng 4.11 B ng so sánh chả ất lượng phân l p sau khi tớ ối ưu mơ hình 66

B ng 4.12 So sánh chất lượng phân l p các thuớ ật tốn trên bộ ữ liệ d u thc nghiệm 1 67

B ng 4.13 So sánh chất lượng phân l p các thuớ ật tốn trên bộ ữ liệ d u thc nghiệm 2 67

B ng 4.14 So sánh chất lượng phân loại trước và sau khi cải tiến cơng đoạ n chu n

hĩa t ng Vi t 69 tiế

Trang 10

Phân lớp đa nhãn và ứng dụng cho bài tốn phân loại tin nhắn văn bản SMS Trang 2

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

Hình 1.1 Thố ng kê tin nh n rác t các nhà m ng Viắ ừ ạ ệt Nam năm 2018 9 Hình 1.2 Các thành ph n c a m t tin nhầ ủ ộ ắn SMS được gửi đi .13 Hình 1.3 C u trúc m t tin nh n SMS 13 ấ ộ ắ

Hình 2.1 X lý ngơn ng t nhiên là vử ữ ự ấn đề khĩ c a AI 15

Hình 2.2 Ví dụ cơng đoạ n tách t trong ti ng Vi t 16 ừ ế ệ

Hình 2.3 Ví dụ ừ điể t n StopWords 21 Hình 2.4 T n suầ ất xuất hiệ n của 50 StopWords thường g p trong các cu n sách 21 ặ ố

Hình 2.5 Mơ hình x lý phân nhãn d u nh phân 22 ử ữliệ

Hình 2.6 Thuậ t tốn phân l p Binary Relevance 27

Hình 2.7 Mơ hình thut tốn chuỗi bộ phân l p Classifier Chains 29

Hình 2.8 Thuậ t tốn Classifer Chains 29 Hình 2.9 Thuật tốn ML-kNN 30 Hình 2.10 Mơ tả ề v siêu ph ng trong SVM 33

Hình 2.11 Mơ tả ề v đư ng biên trong SVM 34

Hình 2.12 Mơ tả ề đườ v ng biên cĩ margin trong SVM .34 Hình 2.13 Phương pháp mộ t-ch i-t t cả ọ ấ (one vs - -all) 35 Hình 2.14 Logistic Regression v i 2 nhĩm (class) 35

Hình 2.15 Đồ ị th hàm sigmoid 36 Hình 3.1 Giả đị nh m i quan h gi a các nhãn 44 ố ệ ữ

Hình 3.2 Phân b tin nh n theo nhãn 45 ố ắ

Hình 3.3 Phân b tin nhố ắn đa nhãn 45 Hình 3.4 Sơ đồ WordCloud th hi n t n su t xu t hiệể ệ ầ ấ ấ n c a các t khĩa theo nhãn 46 ủ ừ

Hình 4.1 Mơ hình t ng quát bài tốn 55

Hình 4.2 Module t ng phân loự độ ại đa nhãn tin nhắn 58 Hình 4.3 Chiến lượ c tìm ki m tham s tế ố ối ưu của Grid Search 59 Hình 4.4 Biểu đồ so sánh các ch s ỉ ố đánh giá theo mẫu c a thu t tốn Binary ủ ậ

Relevance trên 3 mơ hình Gaussian Nạve Bayes, SVC và Logistic Regression .60 Hình 4.5 Biểu đồ các ch s ỉ ố đánh giá theo nhãn thuật tốn Binary Relevance trên 3

mơ hình Gaussian Nạve Bayes, SVC và Logistic Regression 61 Hình 4.6 Biểu đồ so sánh s ự ảnh hưởng độ ớ l n d li u (2 gĩi th c nghi m) lên các ữ ệ ự ệ

chỉ ố s Hamming-Loss, One-Error, Ranking loss và Average Presision .68 Hình 4.7 Biểu đồ so sánh s ự ảnh hưởng độ ớ l n d li u (2 gĩi th c nghi m) lên các ữ ệ ự ệ

chỉ ố s Accuracy Score, Precision Score, Recall Score và f1 Score 68 Hình 4.8 So sánh ảnh hưởng của độ ớ l n d u liệ đối với thờ i gian chy các thuậ t tốn .68

Trang 11

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 3

PHẦN MỞ ĐẦU

Nội dung:

Phần này sẽ giới thiệu khái quát về mục tiêu của Đề tài và vai trò của việc

nghiên cứu “Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản

SMS” trong bài toán phân loại, trích rút thông tin từ tin nhắn tiếng Việt nói riêng và các bài toán khác trong ngành xử lý ngôn ngữ tự nhiên nói chung

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

Khám phá tri thức và khai phá dữ liệu ngày càng được ứng dụng rộng rãi nhằm khám phá các thông tin hữu dụng trong các cơ sở dữ liệu (databases) hay kho dữ liệu (data respositories) nhằm tìm kiếm các mẫu hay các quy luật (pattern) mới và hữu dụng

mà chưa từng được biết trước đó

Hiện nay hầu hết các thiết bị di động đều bị ảnh hưởng bởi lượng lớn tin nhắn quảng cáo, tin nhắn rao vặt, tin nhắn rác Thực sự không phải tin nhắn nào cũng không hữu ích, mà cần theo dõi đánh giá theo cả ngữ cảnh của người dùng Ví dụ, nếu người dùng thiết bị di động làm trong lĩnh vực marketing, bất động sản thì các tin nhắn này lại không được coi là tin nhắn rác vì nó chứa thông tin mà người dùng quan tâm Khái niệm lọc ở đây là lọc các thông tin hữu ích với người dùng phân theo các đề mục khác nhau và làm thế nào để rút trích được những tri thức cần thiết, biến chúng có thể trở lên có ích, đó cũng là các vấn đề chính của luận văn này

Các kỹ thuật học máy hiện nay dựa trên cơ sở các mô hình xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP), trong đó ngôn ngữ tiếng Việt là đối tượng nghiên cứu Các tin nhắn văn bản SMS tiếng Việt có đặc điểm đặc biệt là hầu hết là tiếng Việt không dấu, do đó rất khó áp dụng cho các các mô hình NLP hoặc độ chính xác không cao

Các phần mềm lọc tin nhắn hiện nay hoặc không đủ mạnh hoặc chưa hiệu quả đối với các tin nhắn tiếng Việt, do đó cần nghiên cứu một hướng tiếp cận mới để ngoài việc lọc tin nhắn còn có thể khai thác các thông tin hữu ích ẩn chứa trong tin nhắn sms Một số nghiên cứu gần đây như “Chặn tin nhắn rác (Spam) với Bayes ngây thơ - RPubs” [10], giới thiệu một giải pháp hoàn chỉnh đã được Viettel phát triển thành sản phẩm thương mại Tuy nhiên, giải pháp mới áp dụng cho các tin nhắn tiếng Anh và

Trang 12

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 4

chưa có nội dung tiếng Việt

Yêu cầu đặt ra là tìm một phương pháp phân loại tin nhắn tiếng Việt một cách hiệu quả, phục vụ cho nhiều mục đích: phân loại thông minh, lọc spam, trích rút thông tin cho các mục đích nghiên cứu, kinh doanh, tự động phân loại đối tượng,

Chính vì các lý do nêu trên, tác giả chọn hướng nghiên cứu “Phân lớp đa nhãn

và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS” làm đề tài cho luận văn

của mình

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

 Tìm hi u các k ể ỹthuậ ọt h c máy ng d ng trong bài toán phân loứ ụ ại thư rác, đặc

biệt là các kỹ thuật gán đa nhãn và các công nghệ liên quan

 Xây d ng t p d u (t 400-500) tin nh n cá nhân, qu ng cáo, rao v t, lự ậ ữ liệ ừ ắ ả ặ ừa đảo… tiếng Vi t (ho c ti ng Vi t không d u) làm tiệ ặ ế ệ ấ ền đề cho quá trình h c máy ọnày

 Gắn đa nhãn cho các dữliệu để chuẩn b cho viị ệc huấn luy n và test ệ

 S d ng b lử ụ ộ ọc thông minh để ọc nhữ l ng tin nh n h u ích ắ ữ

 Ứng d ng các k thu t phân lụ ỹ ậ ớp đa nhãn để ế ớ ti n t i xây d ng m t ng d ng ự ộ ứ ụ

có khả ă n ng phân lo i, trích rút thông tin t các tin nh n spam m t cách t ng ạ ừ ắ ộ ự độ

3 Đối tượng, phạm vi nghiên cứu, phương pháp nghiên cứu

Đố i tượng nghiên cứu của luận văn là các tin nhắn văn bản Tiếng Việt, các kỹ thuật

học máy ứng dụng trong bài toán xử lý ngôn ngữ tự nhiên trong miền dữ liệu văn bản tiếng Việt, đặc biệt là các kỹ thuật gán đa nhãn và các công nghệ liên quan

Phạm vi nghiên cứu của luận văn được giới hạn ở phương pháp tiền xử lý dữ liệu,

lựa chọn đặc trưng và áp dụng thuật toán phân lớp đa nhãn văn bản tiếng Việt, tập trung vào miền ứng dụng gán đa nhãn và trích rút các thông tin từ các tin nhắn văn bản tiếng Việt

Phương pháp nghiên cứu của luận văn là nghiên cứu lý thuyết, tìm hiểu các kỹ thuật học máy ứng dụng cho bài toán phân loại tin nhắn văn bản SMS: kỹ thuật phân lớp đơn nhãn, đa nhãn, đặc biệt là kỹ thuật gán đa nhãn (multi label classification) Luận văn cũng nghiên cứu các thuật toán, mô hình, các kỹ thuật tối ưu, ứng dụng trong bài toán đặt ra như Binary Revelance, Classifier Chains, ML-

Trang 13

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 5

kNN, để áp dụng trong quá trình thực nghiệm

Sau khi nghiên cứu lý thuyết về các mô hình phân loại, luận văn sử dụng các thuật toán, mô hình đã nghiên cứu để cài đặt thực nghiệm trên kho dữ liệu tin nhắn tiếng Việt đã gán nhãn để kiểm chứng đánh giá các đề xuất của luận văn

4 Bố cục của luận văn

Bố cục của luận văn gồm phần mở đầu và bốn chương nội dung, phần kết luận

danh mục các tài liệu tham khảo

Mở đầu: Trình bày một cách khái quát về luận văn, nhiệm vụ cũng nhưcác phương pháp tiếp cận giải quyết vấn đề đặt ra

Chương 1 Tổng quan vể dữ liệu Tin nhắn rác (Spam SMS) và các

phương pháp phân loại Spam SMS: Trình bảy tổng quan về đối tượng nghiên cứu là các tin nhắn văn bản tiếng Việt (SMS), các vấn đề cần giải quyết và các

ph ng pháp ươ phân loại tin nhắn spam SMS

Chương 2 Cơ sở thuyết: Sơ lược các khái niệm, các kỹ thuật xử lý dữ liệu văn bản tiếng Việt, các mô hình xử lý ngôn ngữ, các cơ sở ngôn ngữ thống kê, xác xuất, Chương này cũng giới thiệu về các thuật toán được lựa chọn, các tiêu chí để đánh giá mô hình phân lớp đa nhãn trong quá trình thực nghi m ệ

Chương 3 Thu thập và tiền xử lý dữ liệu:Mô t ả công đoạn thu th p và ti n x lý ậ ề ử

d u tin nhữliệ ắn văn bản SMS Sau khi phân tích các đặc điểm, đặc trưng, phân chia các b d u, l a ch n các phân l p và gán nhãn cho các d u, luộ ữ liệ ự ọ ớ ữ liệ ận văn thực

hiện các công đoạn ti n x ề ửlý dữ liệu trước khi tiến hành cài đặt thực nghiệm

Chương 4 Cài đặt thực nghiệm và đánh giá: Chương này mô tả chi tiết phương pháp gi i quy t vả ế ấn đề cho bài toán phân lo i tin nhạ ắn văn bản SMS và tri n khai ểcác thi t k ế ế cài đặt thu t toán và các mô hình x ậ ử lý Sau khi thu được các k t qu ế ảthực nghi m, luệ ận văn tiến hành phân tích, nhận xét, đánh giá các kết qu rút ra t ả ừquá trình th c nghi m v i mong muự ệ ớ ốn đề xu t mô hình phù h p v i bài toán và ấ ợ ớhướng c i tiả ến trong tương lai

Kết luận và Hướng phát triển: T ng k t các kổ ế ết quả ủ c a luận văn, những h n ch ạ ế

và hướng nghiên c u phát triứ ển trong tương lai

Trang 14

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 6

5 Đóng góp của luận văn

Luận văn hướng tới mục tiêu đưa nhìn ra cái tổng quát cho bài toán phân loại và trích rút thông tin từ tin nhắn văn bản SMS tiếng Việt Luận văn cũng đã thu thập và xây dựng được một CSDL tin nhắn văn bản SMS giúp giải quyết vấn đề kho dữ liệu các bài toán xử lý ngôn ngữ tự nhiên trong điều kiện chúng ta chưa có một kho dữ liệu chuẩn được công bố rộng rãi cho các nghiên cứu trong lĩnh vực tương tự

Luận văn cũng đề xuất một hướng giải quyết cho bài toán tiền xử lý dữ liệu tin nhắn văn bản tiếng Việt trong thực tế dữ liệu có nhiều điểm đặc thù như phổ biến các

từ viết tắt, cố tình sai chính tả, lách luật, “teen code”,

Bên cạnh đó, luận văn đã nghiên cứu, thực nghiệm các mô hình xử lý ngôn ngữ

tự nhiên và cố gắng cài đặt, triển khai hướng tiếp cận giải quyết bài toán phân loại đa nhãn và các nhãn có mối liên hệ với nhau Luận văn cũng cố gắng thử nghiệm các phương pháp tối ưu các mô hình với mong muốn cải tiến hiệu quả của các mô hình trong tương lai

Để đánh giá sự phù hợp của mô hình trong các bài toán cụ thể ở đây là bài toán - phân loại đa nhãn văn bản tiếng Việt trên bộ dữ liệu đã thu thập, luận văn thực hiện việc phân tích, so sánh các tiêu chí đánh giá trên mỗi mô hình lựa chọn thông qua quá trình thực nghiệm; từ đó rút ra sự đánh giá độ phù hợp và đề xuất mô hình ưu việt nhất cho bài toán đặt ra

Luận văn cũng hướng tới xây dựng một ứng dụng ngoài mục đích ngăn chặn tin nhắn rác theo hướng tiếp cận mới, còn có thể phân tích đánh giá, thu thập các tri thức

từ các thông tin tưởng chừng như vô ích, mở ra một hướng mới trong việc khai phá tri thức và ứng dụng xử lý ngôn ngữ trên máy tính

Trang 16

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 7

CHƯƠNG 1 - TỔNG QUAN VỀ DỮ LIỆU TIN NHẮN RÁC

VÀ CÁC PHƯƠNG PHÁP PHÂN LOẠI TIN NHẮN RÁC

Nội dung:

Chương này tập trung vào việc tìm hiểu đối tượng nghiên cứu là dữ liệu tin nhắn văn bản tiếng Việt (gồm cả có dấu và không dấu) và cách thức giải quyết bài toán phân loại, khai thác thông tin (data mining) từ đối tượng tin nhắn này

1.1 Tin nhắn rác và thực trạng tin nhắn rác ở Việt Nam

Khi dịch vụ tin nhắn trên thiết bị di động (Short Message Services SMS) trở - nên phổ biến và ngày càng phát triển thì cũng là lúc tin nhắn rác tràn ngập các mạng viễn thông Giống như thư rác, tin nhắn rác không chỉ gây phiền toái, khó chịu cho người sử dụng mà còn gia tăng áp lực lên hạ tầng viễn thông và còn được

sử dụng như một công cụ để thực hiện việc lừa đảo, phát tán vi rút, mã độc… Cho đến thời điểm này, tin nhắn rác vẫn là một vấn nạn và công tác ngăn chặn tin nhắn rác của các nhà mạng lẫn cơ quan chức năng vẫn gặp không ít khó khăn

-Theo nghị định 90/2008/NĐ CP ngày 13/08/2008 về chống thư rác và nghị định 77/2012/NĐ CP về việc “Sửa đổi, bổ sung một số điều của Nghị định số -90/2008/NĐ CP” ngày 05/10/2012 của Chính phủ về chống thư rác, thì tin nhắn -rác cũng như thư rác nói chung là “thư điện tử, tin nhắn được gửi đến người nhận

-mà người nhận đó không mong muốn hoặc không có trách nhiệm phải tiếp nhận theo quy định của pháp luật” Nghị định này cũng phân loại tin nhắn rác gồm những tin nhắn với mục đích lừa đảo, quấy rối hoặc phát tán virus máy tính, phần mềm gây hại… hoặc là những tin nhắn quảng cáo nhưng lại vi phạm các nguyên tắc gửi tin nhắn quảng cáo theo quy định của luật (chỉ được gửi khi người nhận đã đồng ý trước đó, không được gửi trong khoảng thời gian 22h đến 7h sáng, không gửi quá

5 tin nhắn/ngày, phải có gắn nhãn và mã số quản lý )

Thực tế hiện nay, rất nhiều tin nhắn bị xem là rác nhưng vẫn có thể lách theo quy định của luật (gửi 4 tin nhắn/ngày) đồng thời cũng có nhiều trường hợp người dùng nhắn tin bình thường nhưng vẫn bị liệt vào diện phát tán tin nhắn rác

Theo Cục An toàn thông tin (Bộ TT&TT), trong sáu tháng đầu năm 2016, đã chặn

252 triệu tin nhắn rác, khóa hơn 2 triệu thuê bao Như vậy, lượng tin nhắn rác bị chặn đã tăng gần 300 lần (từ 0,96 triệu tin lên tới 25 triệu tin), số thuê bao bị khóa tăng hai lần (từ 1 triệu lên 2 triệu) Sau khi Luật An toàn thông tin mạng có hiệu lực từ ngày 1/7/2016,

Trang 18

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 8

ngay tháng đầu, Bộ TT&TT đã xử phạt 10 doanh nghiệp cung cấp dịch vụ nội dung số

vì hành vi phát tán tin nhắn “rác”, với số tiền 735 triệu đồng Bên cạnh quá trình rà soát, thu hồi 12 triệu sim “rác” trôi nổi trên thị trường, cơ quan chức năng đang yêu cầu các nhà mạng ngưng cung cấp dịch vụ những số điện thoại rao vặt sai quy định, số điện thoại phát tán tin nhắn “rác”, số điện thoại có liên hệ trong tin nhắn “rác” Về các nhà mạng, ứng dụng Viettel-Antispam bắt đầu được Viettel sử dụng từ tháng 10 2015 và đã chặn -thành công hơn 40 triệu tin nhắn “rác”, tương đương 439.000 tin nhắn bị chặn mỗi ngày, đồng nghĩa Viettel phải chấp nhận giảm hàng chục tỷ đồng doanh thu mỗi quý Số lượng phản ánh của khách hàng về việc bị nhận tin nhắn “rác” cũng giảm mạnh, từ trung bình

131 phản ánh/ngày xuống còn 4 phản ánh/ngày…

Tuy nhiên, đó chỉ là một số kết quả bước đầu trong chiến dịch bài trừ nạn sim “rác”, tin nhắn “rác”, và còn quá sớm để tin rằng, các hoạt động trên sẽ đạt hiệu quả tích cực

về lâu dài Năm 2013, có 12 triệu sim “rác” bị thu hồi, nhưng trong năm 2014, thuê bao

di động tại Việt Nam lại tăng lên tới 140 triệu tài khoản Sau khi Thông tư 82/CT-BTTTT

về ngăn chặn tin nhắn “rác”, tin nhắn lừa đảo, tăng cường quản lý thông tin trên mạng

có hiệu lực (năm 2015), số lượng thuê bao di động giảm còn 120 triệu tài khoản Song, chỉ trong 3 quý của năm 2016, con số này lại lên đến 128,3 triệu thuê bao Trước khi Luật An toàn thông tin mạng có hiệu lực, Bộ TT&TT cũng đã xử phạt hàng chục doanh nghiệp phát tán tin nhắn “rác”, với số tiền hàng tỷ đồng (Nguồn: nhandan.com.vn1) Bảng 1.1 Thống kê số lượng tin nhắn quảng cáo từ 2015 2017 (Nguồn VnCert - 2 )

STT Năm Số lượng tin nhắn quảng cáo

Bng Thố 1.2 ng kê s lư t phố ợ ản ánh tin rác qua các năm 2015-2018 (theo VnCert 3 )

STT Năm Số lượt phản ánh tin nhắn rác

1 Báo Nhân dân điệ ử, Kiên quy n t ết hơn trong xử lý sim “rác”, tin nhắn “rác”,

h p://www.nhandan.com.vn/binhluan/binh-luan- phe xu- -sim-%E2%80%9Crac%E2%80%9D- n-nhan-%E2%80%9Crac%E2%80%9D.html ly

-phan/item/31404802-kien-quyet-hon-trong-2 Theo s ố liệu VnCert đượ c công b ố trên báo chí qua các năm, h p://vncert.vn

3 Tuổ i Tr online, ẻ 2018: tin nh n rác gi m m ắ ả ạnh, h ps://congnghe.tuoitre.vn/2018- n-nhan- rac manh-20190102074940855.htm

Trang 20

-giam-Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 9

Hình 1.1 Thố ng kê tin nh n rác t các nhà m ng Viắ ừ ạ ệt Nam năm 2018

Như vậy, tin nhắn rác hiện nay là một vấn nạn và bài toán lọc và phân loại tin nhắn là bài toán cấp thiết không chỉ ở Việt Nam mà còn là cả Thế giới Đó cũng là mục tiêu chính của luận văn này

1.2 Đặc điểm của tin nhắn văn bản tiếng Việt

1.2.1 Đặc điểm tin nhắn văn bản tiếng Việt

Tin nhắn văn bản tiếng Việt (Vietnamese SMS) có một đặc điểm khác biệt hoàn toàn với các nội dung email hoặc các nội dung văn bản, tài liệu trên mạng đó

là bao gồm cả tiếng Việt có dấu và không dấu, trong đó số lượng tin nhắn tiếng Việt không dấu khá phổ biến Điều này thực sự gây khó khăn cho việc xử lý ngôn ngữ tự nhiên vì hiện tại tất cả những công cụ NLP cho tiếng Việt đều dựa trên tiếng Việt có dấu nếu có, thì cũng làm giảm hiệu quả và độ chính xác của thuật toán - Ngoài ra, theo nghiên cứu [11], tin nhắn văn bản tiếng Việt còn có các đặc điểm đặc trưng sau:

 Trong các tin nhắn tiếng Việt, từ tiếng Anh cũng được được sử dụng phổ biến như một cách diễn đạt khác hoặc thể hiện một cách ngắn ngọn, dễ nhớ Ví dụ: “hello”/“hi” (chào), “bye” (tạm biệt),“good” (tốt), “like” (thích), “love” (yêu),

“no” (không), “yes” (vâng), “ok” (đồng ý), “cool” (mát mẻ), “free” (miễn phí),

“good” (tốt),…

Vinaphone 47.47%

Mobifone 21.43%

Vie el 25.85%

VietnamMobile 4.90%

G-Mobile 0.36%

Thống kê tin nhắn rác các nhà mạng năm 2018 (Nguồn VnCert)

Vinaphone Mobifone Vie el VietnamMobile G-Mobile

Trang 22

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 10

 Tin nhắn tiếng Việt do thói quen hoặc giới hạn của tin nhắn, rất nhiều từ

viết tắt, “teen code”, hoặc cách nhắn tin cố tình “lách luật” Ví dụ như:

- Chuyển đổi kí tự đối với nguyên âm đơn Cụ thể: “i” → “j”, “ê” → “j”/“i”

, “ , ô”→ “0”, “ , ă” → “e”, “ô” →“u”.Chuyển một số chữ cái sang chữ cái khác: ph -> f; ng ->g/q; gi/d/ ->j/z; ->k; qu ->w, r ->z; h -c >k…

Ví dụ: gì → gj, chết → chjt/chit, cảm n → cum un/cum on/kum on, sao →

seo, đ i/đối → d0j, lắm/làm → lem, rồi → rui/ruj/roj

- Giản lược ký tự đối với những phụ âm được biểu hiện bằng hai hoặc ba con chữ Cụ thể: gh → g, ngh → ng, kh → k, ph → p, ch → c

Ví dụ: không → ko, phòng → pog, ghét → get, nghỉ/nghĩ → ngi, chị → cj

- Chuyển đổi kí hiệu phụ âm đầu Hiện dạng này gồm: “ph” → “f”, “gi” →

“j”, “b” → “p”, “c” → “k”, “qu” → “w”, “đ” → “d”,

Ví dụ: phải → fai, giá → ja, bà → pa, cái → kai, quán → wan, rồi →

zoj/goy, vậy → zay/dzay

1.2.2 Cách phân loại tin nhắn spam SMS

Các tin nhắn rác (spam SMS) theo Nghị định 90/2008/NĐ CP thường tập trung vào các hình thức (phân nhóm) sau:

- Quảng cáo sản phẩm, hàng tiêu dùng, rao vặt, mua bán sim số đẹp,

 Quảng cáo các ứng dụng, dịch vụ, tổng đài giải trí, website,

 Quảng cáo bất động sản, các gói khuyến mại liên quan đến bất động sản,

 Quảng cáo các dịch vụ tài chính: Ngân hàng, thẻ, Visa, cho vay, tín chấp,

 Giới thiệu các chương trình khuyến mãi mua sắm trực tuyến, giảm giá,

 Một hình thức phổ biến của spam SMS là các tin nhắn có nội dung độc hại như giả mạo Ngân hàng, tổ chức, mạng xã hội, nhà cung cấp, thậm chí các cơ quan pháp luật, để đề nghị người dùng cung cấp các thông tin Thẻ/Tài khoản ngân hàng, mật khẩu và các thông tin cá nhân

 Một số tin nhắn có mã, hoặc liên kết đến các trang web độc hại nhằm cài đặt Virus, trojan, gây tổn hại cho người nhận

Các phân loại (phân nhóm) này cũng là cơ sở cho việc xác định phân lớp để gán

đa nhãn cho dữ liệu tin nhắn văn bản tiếng Việt trong luận văn này

Trang 24

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 11

1.3 Tác hại của tin nhắn rác (spam SMS)

Theo thống kê của Công ty an ninh mạng BKAV4, 90% người dùng thường xuyên bị tin nhắn rác làm phiền, trong đó 43% là nạn nhân của tin rác hằng ngày, gần gấp đôi con số của năm 2013 Phát tán tin nhắn rác thực sự đã trở thành một ngành "công nghiệp đen"

Với số lượng người dùng khổng lồ, liên tục gia tăng trên toàn thế giới, người dùng điện thoại đã và đang trở thành những “con mồi béo bở” để những kẻ phát tán tin nhắn rác, những nhà cung cấp dịch vụ quảng cáo, marketting tha hồ tấn công, lợi dụng để truyền tải thông tin, giới thiệu dịch vụ, sản phẩm Theo thống kê của Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (VNCERT), mỗi ngày có hàng triệu tin nhắn rác được gửi đi, tương đương với hàng triệu thuê bao bị tấn công bởi những thông tin không có giá trị; đồng thời gây ra áp lực rất lớn lên hạ tầng viễn thông di động trong nước

Bên cạnh tin nhắn rác, người sử dụng cũng phải đối mặt với nguy cơ bị mã độc "móc túi" hằng ngày Cũng theo thống kê của Bkav, ước tính số tiền thiệt hại

do mã độc gửi tin nhắn đến đầu số thu phí lên tới 3,9 tỷ đồng mỗi ngày

Dưới đây, mô tả một số tác hại cụ thể rõ ràng nhất của spam SMS :

 Gây thiệt hại về kinh tế tài chính cho người nhận tin nhắn, người nhận trả tiền cho băng thông, dịch vụ

 Lãng phí thời gian cho việc mở tin nhắn và xóa tin nhắn khỏi hộp tin nhắn

và có thể làm quá tải hộp tin nhắn của người nhận, dẫn đến việc thất lạc những tin nhắn đến sau, gây cản trở diễn tiến công việc của người sử dụng

 Spam SMS có thể gây tâm lý xấu đối với người sử dụng tin nhắn khi gửi những thông tin vô giá trị hoặc lợi dụng, xuyên tạc

 Spam chiếm một phần lớn đường truyền và làm tiêu tốn thời gian xử lý của các thiết bị tổng đài

 Spam còn có thể nguy hiểm, chứa virus, trojan hay các loại phần mềm gây hại khác, tạo ra các lỗ hổng bảo mật trong máy tính và thiết bị nhận Ngoài ra, spam SMS còn được xem là phương tiện lừa đảo người dùng

4 Bkav, T ng k t an ninh m ổ ế ạng năm 2014 và dự báo xu hướng 2015,

h p://www.bkav.com.vn/ko/cac-muc-canh-bao/-/chi_ et/287112/tong-ket- -ninh-mang-nam- an 2014- - -bao- -huong-2015 va du xu

Trang 26

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 12

1.4 Phương pháp phân loại spam SMS

1.4.1 D a vào nự guồn phát tán tin nhắn rác

Tương tự quá trình lọc spam mail, phương pháp phổ biến nhất là các nhà mạng (và thậm chí cả người dùng) thiết lập các danh sách đen (black-list) và danh sách trắng

(white-list) để chặn/lọc các đầu số phát tán tin nhắn rác Danh sách đen sẽ chứa các địa

chỉ (số điện thoại của người gửi/nơi gửi) thường xuyên g i spam SMS Ngử ược ại, l danh sách tr ng ắ tin nhắn thường là các địa chỉ tin cậy và an toàn Địa chỉ này có thể là số điện thoại cá nhân, brandname hay số điện thoại/tổng đài Kỹ thuật lọc này thường được sử

d g ụn ở phía tổng đài hay thiết bị cá nhân (có sẵn trong HĐH của thiết bị hay cài đặt thêm phần mềm) và nó được xem là một một sự bổ sung cho phương pháp khác hiệu quả hơn Một dạng tương tự của danh sách đen mà một số thiết bị di động cho phép người dùng có thể cấu hình để nhận/chặn các tin nhắn từ các số trong/không có trong danh bạ, hoặc những quy luật cụ thể được thiết lập sẵn

Khi một SMS được gửi đến, bộ lọc sẽ phân tích địa chỉ người gửi và so sánh địa chỉ có trong danh sách địa chỉ bị chặn/cho phép Nếu trùng trong danh sách đen thì sẽ lập tức được đánh dấu là spam, bị nhà cung cấp dịch vụ tin nhắn từ chối và ngược lại Thông thường, các nhà mạng có thể kiểm soát các địa chỉ này trước khi cho vào danh sách trắng Danh sách này cũng có thể do một bên thứ ba chuyên tổng hợp và phân tích đưa ra (ví dụ Bộ Thông tin và Truyền thông)

Danh sách đen và danh sách trắng có nhiều ưu điểm: thực hiện quá trình kiểm tra này thường rất nhanh chóng và dễ cài đặt Ưu điểm của danh sách đen là các nhà cung cấp sẽ lọc được khá nhiều nguồn SMS spam từ danh sách cho trước Ưu điểm của danh sách trắng so với danh sách đen là số lượng địa chỉ trong danh sách trắng sẽ ít hơn rất nhiều và sẽ giải quyết tình trạng chặn nhầm Thực hiện điều này góp phần giảm tải băng thông cũng như có bước lọc cơ bản đầu tiên trước khi sử dụng các phương pháp khác Các danh sách này cũng có thể được cập nhật và chia sẻ giữa các nhà mạng với nhau Bên cạnh ưu điểm vừa nêu trên, cả hai danh sách đều có khuyết điểm riêng: Đối với danh sách đen, các nguồn spam thường sử dụng các số điện thoại rác, hoặc và tìm cách lách luật bằng cách gửi giới hạn số lượng cho mỗi số điện thoại để gửi spam Do vậy, danh sách đen tin nhắn thường chỉ chặn được một số spam SMS được gửi đi, và có thể làm mất rất nhiều tin nhắn hợp lệ nếu cho nhầm một số vào danh sách Một khuyết điểm nữa của danh sách đen là khó cập nhật danh sách khi số điện thoại đó đã bị thu hồi, chuyển chủ, tương tự như danh sách trắng

Trang 28

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 13

1.4.2. Lọc tin nhắn dựa vào nội dung

1.4.2.1 Cấu trúc tin nhắn SMS

Cấu trúc của 1 tin nhắn SMS được gửi đi chia làm 5 phần như sau:

Hình 1.2 Các thành phầ n c a m t tin nhủ ộ ắn SMS được gửi đi Trong đó:

 Instructions to air interface: chỉ thị giao tiếp với giao diện vô tuyến

 Instructions to SMSC: chỉ thị giao tiếp với trung tâm tin nhắn SMSC

 Instructions to handset: chỉ thị dữ liệu của thiết bị

 Instructions to SIM (optional): chỉ thị dữ liệu kết nối, nhận biết SIM

 Message Body: nội dung tin nhắn SMS

Chi tiết tin nhắn được mô tả từ các đơn vị giao thức PDU (Protocol Description Unit) dưới hình thức của một chuỗi hệ thập lục phân và bán số thập phân Sau đây là

ví dụ về cấu trúc một tin nhắn gửi đi theo định dạng PDU:

Hình 1.3 C u trúc m t tin nh n SMSấ ộ ắTrong ví dụ trên, tin nhắn có chiều dài 160 ký tự, trong đó một ký tự được xác định bởi 7 bits trong bảng chữ cái GSM Mỗi 7 bits là kết quả trong 128 ký tự có sẵn, - -

số, và các dấu châm câu Ví dụ, 48656C6C6F trong bảng chữ cái GSM sẽ tương đương với từ “Hello”

Trang 30

Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Trang 14

Bảng 1.3 So sánh các cấu trúc Tin nhắn SMS với thư điện tử (email)

Yếu tố Thư điện tử Tin nhắn SMS

Độ dài Không giới hạn 160 ký tự (Tin nhắn không dấu, 7-bit) 70 ký tự (tin nhắn tiếng Việt, 16bit)

Nội dung Tự do tình sai chính tả và phổ biến nội dung không Xu hướng viết tắt, lược bỏ văn phạm, sai/cố

dấu (SMS tiếng Việt)

Dữ liệu Người gửi, người nhận, thời gian, tiêu

đề, CC, nội dung, file đính kèm, ảnh SĐT gửi/nội dung, trung tâm nhắn tin, bộ mã hóa BrandName, SĐT nhận, thời gian,

1.4.2.2 Lọc tin nhắn dựa vào nội dung

Các hệ thống xử lý tin nhắn ngày nay thường sử dụng mộ phần mềmt quét t ng hôtin ong n i dung tr ộ tin nhắn để g p phát hiiú ện và lọc tin nhắn rác (spam SMS) ra kh i ỏ

hệ thống Ph ng ph này ph ch nươ áp ân tí ội dung c ủa SMS để nhận diện từ óa liên khquan đến spam, tần suất của các từ lặp đi lặp lại để xác định spam và có thể chuyển chúng vào những nơi mà sau đó có thể xem lại hay xóa bỏ chúng

C ph ng ph ác ươ áp thống kê thường được sử ụ d ng để ph ch và l ân tí ọc SMS,những ph ng ươ pháp ày n chuyển bài toán l spam ành bài to phân l p và tọc th án ớ có hể

sử dụng i u nh ề kỹ thuật phân lớp, d a ên t ng t ự tr hô in thống kê h đã ọc từ dữ ệ li u SMS

th c t C th bài toán l ự ế ụ ể, ọc tin nhắn spam tin nhắn thường được coi bài toán phân là

l ớp văn ả b n (classify x d a ên te t), ự tr cơ sở là tất cả các SMS ch a n có ứ ội dung văn bản Những kỹ thu này ật hiện nay đang được ứng dụng rộng rãi và khá thành công mặc dù còn hạn chế về mặt dữ liệu chuẩn để kiểm tra và độ chính xác để có thể so sánh

và đánh giá Một số phương pháp thống kê để giải quyết bài toán phân lớp văn bản được

áp dụng bao gồm: Naive Bayes, SVM, Logistic Regression,

Tổng kết chương 1

Trong chương 1, lu n v n ậ ă đã giới thiệu tổng quan về đối tượng nghiên cứu là

dữ liệu tin nhắn rác cũng như một số phương pháp phòng chống spam SMS đang được

sử dụng rộng rãi Trong đó, phần nội dung tin nhắn là yếu tố quyết định dùng để phân biệt tin nhắn rác và phương pháp lọc tin nhắn theo nội dung hiện vẫn là phương pháp ứng dụng rộng rãi và cho kết quả tối ưu nhất vì tất cả các phương pháp khác đều

có thể vượt qua bởi đối tượng phát tán Trong chương tiếp theo, luận văn sẽ đi sâu vào các cơ sở lý thuyết của việc phân tích ngôn ngữ áp dụng trong bài toán phân loại tin nhắn văn bản làm tiền đề cho quá trình thực nghiệm trong luận văn này

Trang 32

Trang 15

CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT 2.1 Cơ sở lý thuyết về xử lý ngôn ngữ

2.1.1. Xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) là một nhánh

của Trí tuệ nhân tạo (Artificial Intelligence - AI) tập trung vào các ứng dụng trên ngôn

ngữ của con người Trong Trí tuệ nhân tạo thì xử lý ngôn ngữ tự nhiên là một trong

những phần khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ công cụ -

hoàn hảo nhất của tư duy và giao tiếp (theo wikipedia 5) Cái khó nằm ở chỗ làm sao

cho máy được hiểu ngôn ngữ con người, từ việc hiểu nghĩa từng từ trong mỗi hoàn

cảnh cụ thể, đến việc hiểu nghĩa một câu, rồi hiểu cả văn bản

Hình 2.1 X lý ngôn ng t nhiên là vử ữ ự ấn đề khó c a AI ủMáy tính chủ yếu làm việc với dữ liệu có cấu trúc, đó là dữ liệu được tổ chức,

lập chỉ mục và tham chiếu, thường là trong cơ sở dữ liệu Trong NLP, chúng ta thường

xử lý dữ liệu phi cấu trúc: Các bài đăng trên mạng xã hội, tin tức, email, tin nhắn và

đánh giá sản phẩm là những ví dụ về dữ liệu phi cấu trúc dựa trên văn bản Để xử lý

văn bản như vậy, NLP phải học cấu trúc và ngữ pháp của ngôn ngữ tự nhiên Và quan

trọng là: 80% dữ liệu thương mại là phi cấu trúc

Ngôn ngữ của con người không chính xác và rõ ràng như ngôn ngữ máy tính:

ngôn ngữ con người có rất nhiều phức tạp như cụm từ mơ hồ, thông tục, ẩn dụ, chơi

chữ hoặc châm biếm Cùng một từ hoặc câu có thể có nhiều nghĩa tùy thuộc vào ngữ

cảnh Ngôn ngữ cũng phát triển theo thời gian Tệ hơn nữa, chúng ta giao tiếp không

5 X lý ngôn ng t nhiên, ngu n Wikipedia®, ử ữ ự ồ

h ps://vi.wikipedia.org/wiki/X%E1%BB%AD_l%C3%BD_ng%C3%B4n_ng%E1%BB%AF_t%E1%BB%B1 _nhi%C3%AAn

Trang 33

Trang 16

hoàn hảo (lỗi chính tả, ngữ pháp hoặc dấu câu) nhưng vẫn có thể hiểu được Điều này

rất tự nhiên đối với giao tiếp của con người nhưng rất phức tạp đối với máy tính

Lĩnh vực nghiên cứu của luận văn thuộc phạm vi Xử lý ngôn ngữ tự nhiên, cụ

thể là ứng dụng các kỹ thuật NLP để nghiên cứu, khám phá tri thức trong dữ liệu tin

nhắn văn bản tiếng Việt

2.1.2. Kỹ thuật tách từ (Words segmentation)

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 Á 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 (space) như trong 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ấ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

Kỹ thuật tách từ là một quá trình xử lý nhằm mục đích xác định ranh giới của

các từ trong câu văn, cũng có thể hiểu đơn giản rằng tách từ là quá trình xác định các

từ đơn, từ ghép… có trong câu Đối với xử lý ngôn ngữ, để có thể xác định cấu trúc

ngữ pháp của câu, xác định từ loại của một từ trong câu, yêu cầu nhất thiết đặt ra là

phải xác định được đâu là từ trong câu

Bài toán tách từ hiện nay có 3 phương pháp tiếp cận chính :

 Tiếp cận dựa vào từ điển cố định

 Tiếp cận dựa vào thống kê thuần túy

 Tiếp cận dựa trên cả hai phương pháp trên

Xét ví dụ sau:

Trường đạ ọi h c Bách Khoa Hà N i đư c thành lộ ợ ập tháng 10 năm 1956

Trường đại h c ọ Bách Khoa Hà N i ộ được thành l p ậ tháng 10 năm 1956

Trường đại_h c Bách_Khoa Hà_Nội được thành_lập tháng 10 năm 1956 ọ

Danh từ Danh từ danh t ừriêng danh t riêng ừ động Trợ

Trang 34

Trang 17

Tách từ chính xác hay không là công việc rất quan trọng, nếu không chính xác

rất có thể dẫn đến việc ý nghĩa của câu sai, ảnh hưởng đến tính chính xác của chương

trình Để giải quyết bài toán này cần một lượng lớn dữ liệu, dữ liệu đó đòi hỏi sự

chính xác cao và tốn rất nhiều công sức

Chúng ta sẽ tìm hiểu các phương pháp tiếp cận này trong các nội dung tiếp theo

của luận văn

2.1.3. Một số phương pháp trích chọn đặc trưng

2.1.3.1 Phương pháp túi đựng từ (Bag of Words - BOW)

Phương pháp túi đựng từ giả sử bạn có một loạt các túi và mỗi túi tượng trưng

cho một từ trong từ điển mà chúng ta vừa tạo ra Để thực hiện nó, ta duyệt từ đầu đến cuối văn bản, gặp từ nào thì ném nó vào túi tương ứng, cuối cùng chúng ta sẽ thu được

vector thuộc tính Từ đây chúng ta tiến hành khởi tạo vector thuộc tính cho từng file

trong bộ dữ liệu Mỗi vector sẽ có độ dài chính bằng số từ trong từ điển

BagOfWord học được một bộ từ vựng từ tất cả các văn bản, rồi model các văn

bản bằng cách đếm số lần xuất hiện của mỗi từ trong văn bản đó BagOfWords không

quan tâm đến thứ tự từ trong câu và cũng không quan tâm đến ngữ nghĩa của từ, do

đó 2 câu sau được coi là như nhau: “Khuyến mãi nhân dịp năm mới” và “Nhân dịp

năm mới, khuyến mãi”

Ta thấy rằng nếu một tin có chứa các từ khuyến mại, giảm giá, trúng thưởng,

miễn phí, quà tặng, tri ân, … thì nhiều khả năng đó là một tin nhắn rác Do đó phương

pháp đơn giản nhất là đếm xem trong tin đó có bao nhiêu từ thuộc vào các từ trên, nếu

nhiều hơn 1 ngưỡng nào đó thì ta quyết định đó là tin rác (Tất nhiên bài toán thực tế

phức tạp hơn nhiều khi các từ có thể được viết dưới dạng không dấu, hoặc bị cố tình

viết sai chính tả, hoặc dùng ngôn ngữ teen, ) Với các loại văn bản khác nhau thì

lượng từ liên quan tới từng chủ đề cũng khác nhau Từ đó có thể dựa vào số lượng

các từ trong từng loại để làm các vector đặc trưng cho từng văn bản

BoW vẫn tồn tại khuyết điểm, nên phương pháp từ điển và đánh trọng số TF

-IDF là phương pháp khắc phục Ta sẽ nghiên cứu việc ứng dụng BoW + TF IDF vào

việc tìm kiếm, phân loại tài liệu, lọc và phân loại tin nhắn văn bản cũng như ý định

của người dùng trong mục tiếp theo

Trang 35

Trang 18

2.1.3.2 Sử dụng từ điển và đánh trọng số TF IDF (thống kê tần suất xuất hiện

-của từ)

Máy tính chỉ xử lý được những thông tin dạng số, do đó tất cả các từ trong văn

bản cần được chuyển thành dạng biểu diễn số Cách đơn giản nhất ta thường làm là

xây dựng một bộ từ điển rồi sau đó thay thế từ đó bằng thứ tự xuất hiện trong từ điển

Trong hầu hết các ngôn ngữ, một số từ xuất hiện thường xuyên nhưng không

mang nhiều thông tin như trong tiếng Anh có "is", "the" tiếng Việt có các từ "là",

"của", "cứ" Vì vậy nếu chỉ xét theo tần số xuất hiện của từng từ thì việc phân loại

văn bản rất có thể cho kết quả sai dẫn đến tỷ lệ chính xác thấp Do đó, người ta thường

sử dụng một phương pháp thống kê có tên là -TF IDF (viết tắt của từ Term Frequency Invert Document Frequency): giá trị TF-IDF của một từ là một số thu được qua thống

kê thể hiện mức độ quan trọng của từ này trong một văn bản, mà bản thân văn bản

đang xét nằm trong một tập hợp các văn bản

Trước tiên ta tìm hiểu TF IDF là một kỹ thuật trích chọn đặc trưng (feature

-extraction) dùng trong text mining và information retrieval TF-IDF bao g m 2 thành ồ

ph n là tf (term frequency) và idf (inverse document frequency): ầ

 TF là tần su t xuấ ất hi n c a mệ ủ ột từ trong văn bản:

Trong đó:

- f(t,d) - số lần xuất hiện từ t trong văn bản d

- max{f(w,d):w d} - s l n xu t hi n nhi u nh t c a m t t b t k ố ầ ấ ệ ề ấ ủ ộ ừ ấ ỳtrong văn b n ả

 IDF (Inverse Document Frequency): Tần số nghịch c a 1 t trong tủ ừ ập văn

b n (corpus) ả

Trong đó:

- |D|: T ng s ổ ố văn bản trong t p D ậ

- : số văn bản chứa từ nhất định, với điều kiện t ấxu t

hiện trong văn bản d (tf(t,d)≠0) Nế ừ đó không xuấu t t hi n bệ ở ất cứ 1 văn

b n nào trong t p thì m u s s b ng 0 phép chia cho không không hả ậ ẫ ố ẽ ằ → ợp

Trang 36

Trang 19

l , vì th ệ ế người ta thường thay b ng m u thằ ẫ ức

 Khi đó công thức tf-idf cuối cùng sẽ là:

Ví dụ: Một tài liệu 100 từ chứa từ cat 3 lần → tf = = 0.03

Giả sử ta có 100.000 tài liệu mà từ cat xuất hiện trong 1.000 tài liệu

→ idf(cat) = 0.03 log( ) = 0.06

2.1.3.3 Phươ ng pháp n-gram

Đây là mô hình phổ ế bi n nh t và d áp dấ ễ ụng vì tính đơn giản c a nó Mô hình ủ

có th áp dể ụng v i h u h t bài toán phân loại nói chung đểớ ầ ế xây d ng vec-ự tơ đặc trưng

V i mô hình n-ớ grams, ta định nghĩa một mẫu các t ừ có độ dài n Giá tr n có th ị ể

thay đổ ới v i n =1,2,3, Ta có th ể thay đổi nhi u giá tr ề ị n khác nhau để tìm ra k t qu ế ả

tối ưu nhất Với n = 1 còn được gọi là Unigram hay Bag Of Words, n = 2: bigram, n =

3: trigram Mô hình này r t t t trong vi c trích chấ ố ệ ọn đặc trưng trong văn bản, và đặc

bi t phù h p v i th c t các tin nh n rác s d ng các t vi t t t, c tình sai chính tệ ợ ớ ự ế ắ ử ụ ừ ế ắ ố ả,

“teen code” để lách lu t hi n nay Ch ng hậ ệ ẳ ạn “Q/C”, “QC”, “QK”, “KM”, là những

m u có giá tr cao trong vi c phân loẫ ị ệ ại văn bản Để ểu hơn về hi cách trích chọn đặc

trưng này, ta xét một ví d xây d ng vec-ụ ự tơ cụ ể dưới đây th

Bng Ví dụ 2.1 2 n i dung n i dung tin nh n cho n-gram ộ ộ ắ

1 (QC) MIEN PHI 10 phut goi noi mang qua 1319

2 (QC) MIEN PHI 100% 3G/4G cho Quy khach

 V i n = 1 (unigram) Túi t vớ ừ ựng được xây d ng t 2 tin nhự ừ ắn trên như sau:

Bng 2.2 Ví dụ túi t v ng unigram ừ ự

Vec-tơ đặc trưng được định nghĩa là giá trị có xu t hi n t vấ ệ ừ ựng đó trong tin

nh n hay không (0 hoắ ặc 1)? Như vậy vec-tơ đặc trưng uni gram trong trườ- ng h p này ợ

được bi u diể ễn dướ ại d ng sau:

Trang 37

Vậy ta được 02 vec-tơ đặc trưng trong mô hình trích chọn đặc trưng uni-gram

của 02 tin nh n là Vắ 1, V2được biểu diễn dướ ại d ng:

PHI

10

PHI 100%

10 phut

100%

3G/4G

phut goi

goi noi

noi mang

3G/4G cho

cho Quy

Quy khach

Trang 38

Trang 21

2.1.3.4. Từ loại (StopWords)

Từ loại (từ dừng) hay StopWords là những từ xuất hiện nhiều trong ngôn ngữ tự

nhiên, tuy nhiên lại không mang nhiều ý nghĩa và người ta thường loại bỏ để tăng tốc

độ cũng như chất lượng tìm kiếm Trong tiếng việt StopWords là những từ như: để,

này, kia Tiếng anh là những từ như: is, that, this

Có rất nhiều cách để loại bỏ StopWords nhưng có 2 cách chính là:

 Dùng từ điển

 Dựa theo tần suất xuất hiện của từ

Dùng từ điển

Cách này đơn giản nhất, chúng ta tiến hành filter văn bản, loại bỏ những từ xuất

hiện trong từ điển StopWords:

Ví dụ:

Hình 2.3 Ví dụ ừ điể t n StopWords

Dựa theo tần suất xuất hiện của từ

Với cách này, ta tiến hành đếm số lần xuất hiện của từng từ trong dữ liệu sau đó

sẽ loại bỏ những từ xuất hiện nhiều lần (cũng có thể là ít lần) Khoa học đã chứng

minh những từ xuất hiện nhiều nhất thường là những từ không mang nhiều ý nghĩa

Xét ví dụ dưới đây:

Hình 2.4 T n suầ ất xuất hiệ n của 50 StopWords thường g p trong các cu n sách ặ ố

Món ăn ôi sao mà ngon thế kia

Món ăn ngon

Trang 39

Trang 22

Trong ví dụ trên là top 50 từ xuất hiện nhiều nhất trong mỗi cuốn sách Dễ dàng

nhận thấy chúng không mang nhiều ý nghĩa, vì thế ta sẽ tiến hành bỏ những từ này

2.2 Phân lớp nhị phân/đơn nhãn (Binary Classification/Single Label

Classification)

Phân lớp đơn nhãn (Single Label Classification) hay Binary Classification là bài

toán phân loại các phần tử của một tập hợp các đối tượng ra thành 2 nhóm dựa trên

cơ sở là chúng có một thuộc tính nào đó hay không (hay còn gọi là tiêu chí)

Phân lớp đơn nhãn thường một xử lý bao gồm hai bước (Hình 2.5) Ở bước đầu

tiên, xây dựng mô hình mô tả một tập cho trước các lớp dữ liệu Mô hình này có được

bằng cách phân tích các bộ cơ sở dữ liệu Mỗi bộ được giả định thuộc về một lớp cho

trước, các lớp này chính là các giá trị của một thuộc tính được chỉ định, gọi là thuộc

tính nhãn lớp Các bộ dữ liệu để xây dựng mô hình gọi là bộ dữ liệu huấn luyện Do

nhãn lớp của mỗi mẫu huấn luyện đã được gán bằng tay trước nên bước này cũng

được biết đến như là học có giám sát Điều này trái ngược với học không có giám sát,

trong đó các mẫu huấn luyện chưa biết sẽ thuộc về nhãn lớp nào và số lượng hay tập

các lớp được học chưa biết trước

Hình 2.5 Mô hình x lý phân nhãn d u nh phân ử ữliệ

Trang 40

Trang 23

Mô hình học được biểu diễn dưới dạng các luật phân loại, cây quyết định hay

công thức toán học Ví dụ, cho trước một cơ sở dữ liệu thông tin về độ tín nhiệm của

khách hàng, các luật phân loại được học để nhận biết các khách hàng có độ tín nhiệm

là tốt hay không tốt (Hình 2.5a) Các luật được dùng để phân loại các mẫu dữ liệu

tương lai cũng như cung cấp cách hiểu tốt hơn về nội dung cơ sở dữ liệu

Trong bước thứ hai (hình 2.5b), mô hình được dùng để phân loại Trước tiên,

đánh giá độ chính xác dự đoán của mô hình (hay phân loại) Phần cuối của chương

này (mục 2.5) sẽ mô tả một số phương pháp đánh giá độ chính xác phân loại Phương

pháp holdout (kỹ thuật chia bộ dữ liệu thành tập kiểm tra và tập test) là một kỹ thuật

đơn giản sử dụng một tập kiểm tra các mẫu đã được gắn nhãn lớp Các mẫu này được

chọn lựa ngẫu nhiên và độc lập với các mẫu huấn luyện Độ chính xác của mô hình

trên một tập kiểm tra cho trước là phần trăm các mẫu của tập kiểm tra được mô hình

phân loại đúng Đối với mỗi mẫu kiểm tra, nhãn lớp đã biết được so sánh với dự đoán

lớp của mô hình đã học cho mẫu đó Nếu độ chính xác của mô hình được đánh giá

dựa trên bộ dữ liệu huấn luyện, sự đánh giá này có thể là tối ưu, do vậy mô hình học

có khuynh hướng quá phù hợp dữ liệu, bởi vậy ta cần dùng một tập kiểm tra

Nếu độ chính xác của mô hình là chấp nhận được, mô hình có thể được sử dụng

để phân loại các bộ hay các đối tượng dữ liệu tương lai mà chưa biết nhãn lớp Ví dụ,

các luật phân loại học trong hình 2.5a: việc phân tích dữ liệu khách hàng từ các khách

hàng đã tồn tại có thể được dùng để dự đoán độ tín nhiệm của các khách hàng mới

2.3 Phân lớp đa nhãn (Multi-Label Classification)

2.3.1. Bài toán phân lớp đa nhãn tổng quát

Phân loại đa nhãn là một đối tượng không chỉ được gán nhãn phân loại với một

lớp duy nhất mà có khả năng được gán nhãn với nhiều phân loại khác nhau, các nhãn

này có thể được sắp xếp theo một thứ tự nhất định

Gọi C là bộ dữ liệu huấn luyện và c là danh sách nhãn phân loại Bộ phân loại

H xác định hàm TC, trong đó mỗi đối tượng iT được gán một hoặc nhiều nhãn

Ngày đăng: 26/01/2024, 16:00

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

TÀI LIỆU LIÊN QUAN