Tải bản đầy đủ (.pdf) (81 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.99 MB, 81 trang )

ĐÀO XUÂN DƯƠNG

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

Đào Xuân Dương

CÔNG NGHỆ THÔNG TIN

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

2017B
Hà Nội – 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

Đào Xuân Dương

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

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


LỜI CẢM ƠN
Luận văn tốt nghiệp thạc sĩ chuyên ngành Cơng nghệ thơng tin được hồ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, tơi xin tỏ lịng biết ơn chân thành và sâu sắc đến Trường Đại học Bách Khoa
Hà Nội, Viện Công nghệ thông tin và Truyền thông, đặc biệt là TS. Trịnh Anh Phúc
đã trực tiếp hướng dẫn, dìu dắt, giúp đỡ tôi với những chỉ dẫn khoa học quý giá
trong suốt quá trình triển khai, nghiên cứu và hồn thành đề tài nghiên cứu của mình.
Tơi xin chân thành cảm ơn các thầy, cô giáo đã trực tiếp giảng dạy, truyền đạt
những kiến thức khoa học chuyên ngành Cơng nghệ thơng tin cho bản thân tơi
trong tồn bộ thời gian của khóa học.
Tơi xin trân trọng cảm ơn các thầy cơ trong hội đồng chun mơn đã đóng góp
các ý kiến q báu để tơi hồ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ể hồn thành q 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
Q thầy, cô và các bạn bè đồng nghiệp để đề tài được hoàn chỉnh hơn.

Xin chân thành cảm ơn!

i


LỜI CAM ĐOAN
Tô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 10 năm 2019

Đào Xuân Dương

ii


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
iii


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 tốn ...............................................................................25

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

Thuật tố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
iv


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 qt 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 toá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 Naïve Bayes, SVC và Logistic
Regression ............................................................................................. 60

4.6.2.

Classifier Chains với Gaussian Naï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 toá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
toá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

v


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Kí hiệu

Tiếng Anh

SMS

Short Message Services

Spam SMS
Telco
Senders
SĐT

Spam SMS
Telecom Company = Operator
Senders
Phone Number

BrandName BrandName
AI
ML
NLP

Artificial Intelligence
Machine Learning
Natural Language Processing


DL

Deep Learning

SVM

Support Vector Machine
Term Frequency Inverse
Document Frequency

TF-IDF
BOW

Bag of Words

N-Gram

Statistical N-Gram Language
Modeling

StopWords Từ dừng/từ loại
MLC
FE
FS
OVR

Multi-Label Classiffication
Feature Extraction
Feature Selection

One-vs-rest hay còn gọi là oneagainst-rest, one-vs-all, oneagainst-rest, hoặc one-against-all
Binary Relevance
Multinomial Naïve Bayes
Gaussian Naive Bayes
SVC
Label Powerset
Classifier Chains

Tiếng Việt
Dịch vụ tin nhắn ngắn qua mạng di
động
Tin nhắn rác
Nhà cung cấp dịch vụ viễn thông
Người gửi/Nguồn gửi tin nhắn SMS
Số điện thoại người gửi/nhận
Tên thương hiệu (hiển thị thay cho số
điện thoại người gửi)
Trí tuệ nhân tạo
Phương pháp học máy
Xử lý ngơn ngữ tự nhiên
Kỹ thuật học máy dựa trên mạng nơ
ron (Neural network)
Máy vectơ hỗ trợ
Trọng số về tần suất và độ quan
trọng của từ
Mơ hình xử lý ngơn ngữ tự nhiên
tiếp cận theo hướng dãy từ
Mơ hình ngơn ngữ thống kê NGram
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
Phân lớp đa nhãn
Trích chọn đặc trưng
Lựa chọn đặc trưng
Phương pháp phân loại mỗi lớp với
mọi lớp cịn lại

Mơ hình phân lớp tương hợp nhị phân
Mơ hình Multinomial Nạve Bayes
Mơ hình Gaussian Nạve Bayes
Mơ hình Liner SVM
Mơ hình phân lớp Tập lũy thừa nhãn
Mơ hình phân lớp Chuỗi các phân lớp
Phương pháp phân lớp đa nhãn k
ML-kNN
Multi-Label k Nearest Neighbour
Láng giềng gần nhất
Kỹ thuật tìm kiếm tham số lưới
GridSearch GridSearch
Accuracy
Độ chính xác tổng quát
ACC
Ministry of Information and
Bộ Thông tin và Truyền thông
Bộ TT&TT
Communications
BR
MNB
GNB
SVC

LP
CC

vi


DANH MỤC CÁC BẢNG
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
Bảng 1.3. So sánh các cấu trúc Tin nhắn SMS vớ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 với 4 nhãn ......................................26
Bảng 2.8. Ví dụ bài toá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
Bảng 3.1. Bảng số liệu thống kê Bộ dữ liệu thực nghiệm 1 ..........................................42
Bảng 3.2. Bảng số liệu thống kê Bộ dữ liệu thực nghiệm 2 ..........................................42
Bảng 3.3. Dữ liệu phân lớp ...........................................................................................43
Bảng 3.4. Phân bố dữ liệ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 toán Binany Relevance sử dụng 3
mơ hình Gaussian Nạve Bayes, SVC và Logistic Regression ......................................60
Bảng 4.4. Chỉ số đánh giá dựa trên nhãn của thuật toán BR sử dụng GNB ................61

Bảng 4.5. Chỉ số đánh giá dựa trên nhãn của thuật toán BR sử dụng SVC .................62
Bảng 4.6. Chỉ số đánh giá dựa trên nhãn của thuật toá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 toán Classifier Chains ..........................64
Bảng 4.8. Chỉ số đánh giá dự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 toán ML-kNN ......................65
Bảng 4.10. Chỉ số đánh giá dựa trên nhãn của thuật toá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 toán trên bộ dữ liệu thực nghiệm 1
.......................................................................................................................................67
Bảng 4.13. So sánh chất lượng phân lớp các thuật toán trên bộ dữ liệu thực 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ừ tiếng Việt ............................................................................................................69
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 1


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ụ từ điể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ữ liệu nhị phân ...................................................22
Hình 2.6. Thuật tốn phân lớp Binary Relevance ........................................................27
Hình 2.7. Mơ hình thuật 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 qt 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 toá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ữ liệu đối với thời gian chạy các thuật toán
.......................................................................................................................................68

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 2



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 tố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 tố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 để ngồ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à
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


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.

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

2.


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ữ liệu (từ 400-500) tin nhắn cá nhân, quảng cáo, rao vặt, lừ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 để lọc nhữ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 tố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 tố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, MLPhâ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


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 tố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.

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

4.

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
và 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ở lý 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 tốn được lựa chọn, các tiêu chí để
đánh giá mơ hình phân lớp đa nhãn trong q 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ữ liệu tin nhắ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ữ liệu, lựa chọn các phân lớp và gán nhãn cho các dữ liệu, luậ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 tố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ừ
q trình thực nghiệm với mong muốn đề xuất mơ hình phù hợp với bài tố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.
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


5.

Đóng góp của luận văn
Luận văn hướng tới mục tiêu đưa ra cái nhìn tổng qt cho bài tố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 tố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 q
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 ngồ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.

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


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 tố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 tố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 tồ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 tồn thơng tin mạng có hiệu lực từ ngày 1/7/2016,

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


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 q trình rà số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 th bao. Trước khi
Luật An tồ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 VnCert2)
STT
1
2
3


Năm
2015
2016
10/2017

Số lượng tin nhắn quảng cáo
~96.2 triệu
~85.3 triệu
~260 triệu

Bảng 1.2. Thống kê số lượt phản ánh tin rác qua các năm 2015-2018 (theo VnCert3)
STT
1
2
3
4
1

Năm
2015
2016
2017
2018

Số lượt phản ánh tin nhắn rác
~554.865
~591.427
~78.181
~56.941


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

/>2
3

Theo số liệu VnCert được công bố trên báo chí qua các năm,
Tuổi Trẻ online, 2018: tin nhắn rác giảm mạnh, />
manh-20190102074940855.htm

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


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

G-Mobile
0.36%

Viettel
25.85%
Vinaphone
47.47%

Mobifone
21.43%

Vinaphone


Mobifone

Viettel

VietnamMobile

G-Mobile

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 tố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.

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

1.2.

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
hồn tồ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 tốn.
Ngồ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” (u),
“no” (khơng), “yes” (vâng), “ok” (đồng ý), “cool” (mát mẻ), “free” (miễn phí),
“good” (tốt),…
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




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; c ->k; qu ->w, r ->z; h ->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.
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


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

1.3.

Theo thống kê của Công ty an ninh mạng BKAV 4, 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. Ngồ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,
/>
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.4.

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

1.4.1.

Dựa vào nguồ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 lại, 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ụng ở 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 số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.
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.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”.

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


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

160 ký tự (Tin nhắn không dấu, 7-bit)
70 ký tự (tin nhắn tiếng Việt, 16bit)
Xu hướng viết tắt, lược bỏ văn phạm, sai/cố
Tự do
tình sai chính tả và phổ biến nội dung không
Nội dung
dấu (SMS tiếng Việt)
Người gửi, người nhận, thời gian, tiêu SĐT gửi/BrandName, SĐT nhận, thời gian,
Dữ liệu
đề, CC, nội dung, file đính kèm, ảnh
nội dung, trung tâm nhắn tin, bộ mã hóa
Máy chủ email

Tổng đài (lưu tạm), Thiết bị người dùng
Nơi lưu
Độ dài

Không giới hạn

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ột phần mềm quét thông
tin trong nội dung tin nhắn để giúp phát hiện và lọc tin nhắn rác (spam SMS) ra khỏi
hệ thống. Phương pháp này phân tích nội dung của SMS để nhận diện từ khóa liên
quan đế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ác phương pháp thống kê thường được sử dụng để phân tích và lọc SMS,
những phương pháp này chuyển bài toán lọc spam thành bài tốn phân lớp và có thể
sử dụng nhiều kỹ thuật phân lớp, dựa trên thông tin 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 là bài toán phân
lớp văn bản (classify text), dựa trên cơ sở là tất cả các SMS có chứa nội dung văn
bản. Những kỹ thuật này 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.
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


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

2.1.
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ụ
hồn hảo nhất của tư duy và giao tiếp (theo wikipedia5). 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®,

/>_nhi%C3%AAn

Trang 15


hồ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 tốn rất khó giải quyết.
Kỹ thuật tách từ là một q 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 tố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
Trợ
danh từ
Danh
Danh
Danh từ Danh từ danh từ riêng
động Động từ
Số
Số
riêng

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


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 tố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ố TFIDF 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 17


×