ĐẠI HỌC QUỐC GIA TP.HCM
TRƢỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
PHÂN LOẠI TIN TỨC TIẾNG VIỆT
SỬ DỤNG CÁC PHƢƠNG PHÁP HỌC MÁY
HỘI ĐỒNG LUẬN VĂN TỐT NGHIỆP
BỘ MÔN: KHOA HỌC MÁY TÍNH
GVHD:
ThS. Võ Thanh Hùng
GVPB:
TS. Nguyễn Hứa Phùng
------o0o-----SVTH 1:
Lê Vĩnh Phú
51002420
SVTH 2:
Diệp Minh Hoàng 51001087
TP. HỒ CHÍ MINH, THÁNG 12/ 2014
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
LỜI CAM ĐOAN
Luận văn của chúng tôi có tham khảo các tài liệu, bài báo, trang web như được trình bày ở
mục tài liệu tham khảo và ở mỗi tham khảo chúng tôi đều trích dẫn nguồn gốc.
Chúng tôi xin cam đoan rằng ngoài những trích dẫn từ các tham khảo trên, toàn bộ nội dung
cũng như số liệu trong cáo cáo là do chúng tôi tự soạn thảo từ những kết quả nghiên cứu của
riêng nhóm dưới sự hướng dẫn của Thạc sĩ Võ Thanh Hùng, không sao chép từ bất kì tài liệu
nào khác.
Mọi sao chép không hợp lệ, vi phạm quy chế hay gian trá chúng tôi xin chịu hoàn toàn trách
nhiệm.
Nhóm sinh viên thực hiện đề tài
i
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
LỜI CẢM ƠN
Trong hơn bốn năm học tập tại trường Đại học Bách Khoa, đặc biệt là trong giai đoạn làm
luận văn tốt nghiệp, chúng tôi đã nhận được sự ủng hộ, hướng dẫn, giúp đỡ tận tình của gia
đình, thầy cô, bạn bè. Chúng tôi xin gửi lời cảm ơn sâu sắc đến họ, những người đã góp công
sức không nhỏ trong việc hoàn thành luận văn này.
Trước hết, là gia đình, đặc biệt là cha mẹ, những người đã sinh thành, nuôi dưỡng chúng tôi
ăn học. Hỗ trợ, ủng hộ chúng tôi hết mình về mặt vật chất và tinh thần. Người mà chúng tôi
biết ơn suốt đời.
Tiếp đến là Thạc sĩ Võ Thanh Hùng, giảng viên trực tiếp hướng dẫn Luận văn Tốt nghiệp của
chúng tôi. Chúng tôi vô cùng biết ơn sự tình tận hướng dẫn của thầy. Nhờ có sự định hướng
rõ ràng, dõi theo sát sao, thúc đẩy mạnh mẽ của thầy mà chúng tôi mới có thể hoàn thành đề
tài này.
Cuối cùng, xin gửi lời cảm ơn chân thành nhất đến những thầy cô đã giảng dạy chúng tôi
trong suốt hơn bốn năm học qua những người đã trang bị nền tảng kiến thức, kĩ năng quý báu
cho chúng tôi và những người bạn cùng với sự nhiệt tình giúp đỡ của họ.
Xin trân trọng cảm ơn.
Nhóm sinh viên thực hiện đề tài
Tp.Hồ Chí Minh, ngày 23 tháng 11 năm 2014.
ii
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
ABTRACT
Today, the rapid development of Information Technology has changed the life a lot. In Data
mining and Machine learning, there are especially changes. It has been applying in most of
areas of the life such as the diagnosis of illness, the classification of DNA sequences in
medical, stock market analysis, automatic translation, data retrieval, identification of speech
and handwriting, etc. In communication, the publication of newspapers has much changed.
With its benefits, online news is increasing in both quantity and quality. Classification of
Topics Posts is meaningful in finding and storing data. Most of this work currently done by
hand and is subjective to the agent. Topic of team is exploring methods of machine learning to
classify news Vietnamese and using some support libraries to build program automatically
classify information.
Due to the multiple topics of a Vietnamese news and the limited time, our program can
classify only seven threads, which have relatively independent content with each other. They
are world, sports, life, law, finance – economics, technology and automotive – motorcycle.
Most of news is stored in natural language and untructed data. To classify automatically, we
need to convert them into a structured data. The most common way is using vector space,
each news will be represented as a vector of keywords. However, to create vector of
information, we need pre-process the information. The works we have to do are cutting word,
removing punctuation and stop word. In this topic, we use VnTokenizer to cutting word, and
then build the véc-tơ method based on TF-IDF, then use the Weka library to support classify
information in machine learning algorithms.
In general, we have completed the basic objectives of this project are exploring methods of
machine learning and implementing construction programs classified information. Besides,
there are still aspects that need to be improved further as the number of threads still less (7
topics), the amount of news initially used to train a lot less (more than 1500), the threads have
independent content with each other; have not found the relationship between title,
introduction, content and article topics.
Proposed expansion are increasing the number of threads and the number of original articles
in the training set; resolving the problem that is a news can belong to many topics; exploring
the relationship between the article name, introduction, content and the subject of news.
iii
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
TÓM TẮT
Ngày nay, sự phát triển nhanh chóng của Công nghệ thông tin (CNTT) đã làm thay đổi cuộc
sống rất nhiều. Đặc biệt là lĩnh vực khai phá dữ liệu và học máy. Nó được ứng dụng vào mọi
lĩnh vực trong cuộc sống, từ việc chẩn đoán bệnh, phân loại chuỗi ADN trong y khoa, hay
phân tích thị trường chứng khoán đến dịch tự động, truy tìm dữ liệu, nhận dạng tiếng nói, chữ
viết…Trong lĩnh vực truyền thông, việc xuất bản báo chí, tin tức cũng có nhiều thay đổi. Với
những ưu thế của mình, tin tức trực tuyến ngày càng tăng cả về số lượng và chất lượng. Việc
phân loại chủ đề bài viết mang nhiều ý nghĩa trong việc tìm kiếm và lưu trữ dữ liệu. Hầu hết
công việc này hiện nay được làm bằng tay và mang tính chủ quan của người thực hiện. Đề tài
nhóm thực hiện là tìm hiểu các phương pháp học máy dùng để phân loại tin tức tiếng Việt và
dùng một số thư viện hỗ trợ để xây dựng chương trình phân loại tin tức tự động.
Do tính đa chủ đề của tin tức tiếng Việt, một tin tức có thể thuộc một hay nhiều chủ đề, và hạn
chế về mặt thời gian cùng với giới hạn luận văn, chương trình phân loại tin tức của chúng tôi
chỉ phân loại trên 7 chủ đề, có nội dung tương đối độc lập nhau: thế giới, thể thao, đời sống,
pháp luật, tài chính – kinh tế, công nghệ và ô tô - xe máy. Hầu hết tin tức đều được lưu trữ
dưới dạng ngôn ngữ tự nhiên, dạng dữ liệu phi cấu trúc. Để phân loại tự động được, chúng ta
cần phải chuyển chúng sang dạng dữ liệu có cấu trúc. Cách phổ biến nhất là sử dụng không
gian véc-tơ, mỗi tin tức sẽ được biểu diễn thành một véc-tơ của các từ khóa. Tuy nhiên để
véc-tơ hóa thông tin, chúng ta cần tiền xử lý các tin tức đó. Các công việc cụ thể cần phải làm
là cắt từ, xóa dấu câu và loại bỏ stop word. Trong đề tài này chúng tôi sử dụng công cụ
VnTokenizer để cắt từ, rồi xây dựng các véc-tơ dựa trên phương pháp TF-IDF, sau đó dùng
thư viện Weka hỗ trợ tiến hành phân loại tin tức bằng các giải thuật học máy.
Nhìn chung, chúng tôi đã hoàn thành các mục tiêu cơ bản của đề tài là tìm hiểu các phương
pháp học máy và thực hiện xây dựng chương trình phân loại tin tức. Bên cạnh đó cũng còn
một số khía cạnh mà cần phải cải thiện thêm như: số lượng chủ đề vẫn còn ít (7 chủ đề), số
lượng tin tức ban đầu dùng để huấn luyện chưa nhiều (hơn 1500 bài), các chủ đề gần như có
sự độc lập với nhau về mặt nội dung nên ít xảy ra vấn đề một tin tức thuộc nhiều chủ đề; chưa
tìm ra mối liên hệ giữa tiêu đề bài viết, giới thiệu đầu bài, nội dung bài viết với chủ đề bài viết.
Hướng đề xuất mở rộng là: tăng thêm số lượng chủ đề và số lượng bài viết ban đầu trong tập
huấn luyện; giải quyết vấn đề một tin tức có thể thuộc nhiều chủ đề khác nhau; tìm hiểu mối
liên hệ giữa tên bài viết, giới thiệu đầu bài, nội dung và chủ đề của bài viết đó.
iv
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
MỤC LỤC
Lời cam đoan ............................................................................................................................... i
Lời cảm ơn .................................................................................................................................. ii
Abtract .......................................................................................................................................iii
Tóm tắt....................................................................................................................................... iv
Danh mục hình ......................................................................................................................... vii
Danh mục bảng ........................................................................................................................viii
Danh mục từ viết tắt .................................................................................................................. ix
Chương 1.
Giới thiệu .............................................................................................................. 1
1.1
Giới thiệu đề tài ........................................................................................................... 1
1.2
Mục tiêu đề tài ............................................................................................................. 1
1.3
Bố cục luận văn ............................................................................................................ 1
Chương 2.
2.1
Tổng quan về bái toán phân loại tin tức bằng phương pháp học máy .................. 3
Tổng quan về khai phá dữ liệu ..................................................................................... 3
2.1.1
Khai phá dữ liệu (data mining) ............................................................................. 3
2.1.2
Khai phá dữ liệu văn bản (textmining) ................................................................. 4
2.2
Học máy (machine learning) ........................................................................................ 4
2.3
Bài toán phân loại văn bản tự động bằng học máy ...................................................... 4
Chương 3.
Các công trình nghiên cứu liên quan .................................................................... 6
3.1
Phân loại văn bản với máy học véc-tơ hỗ trợ và cây quyết định ................................. 6
3.2
Xây dựng hệ thống phân loại tài liệu tiếng việt ........................................................... 7
3.3
Phân loại email spam bằng matlab áp dụng 6 giải thuật .............................................. 9
3.3.1
Giới thiệu .............................................................................................................. 9
3.3.2
Tiền xử lý dữ liệu và mô hình hóa văn bản .......................................................... 9
3.3.3
Xây dựng tập huấn luyện và kiểm thử, kết quả thực nghiệm ............................. 10
Chương 4.
Quy trình phân loại tin tức .................................................................................. 11
4.1
Tiền xử lý dữ liệu ....................................................................................................... 11
4.1.1
Đặc điểm của ngôn ngữ tiếng việt ...................................................................... 11
4.1.2
Nhập nhằng trong tách từ tiếng việt ................................................................... 12
4.1.3
Tách từ ................................................................................................................ 12
4.1.4
Loại bỏ stop word ............................................................................................... 15
4.2
Chuyển đổi tin tức từ dạng ngôn ngữ tự nhiên sang mô hình không gian véc-tơ ...... 15
4.2.1
Binary véc-tơ ...................................................................................................... 15
4.2.2
TF-IDF véc-tơ ..................................................................................................... 15
4.2.3
Độ tương đồng giữa các véc-tơ .......................................................................... 17
v
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
4.3
Các phương pháp phân loại văn bản bằng học máy .................................................. 18
4.3.2
Phương pháp SVM (support véc-tơ machine) .................................................... 18
4.3.3
Phương pháp naïve bayes ................................................................................... 19
4.3.4
Phương pháp cây quyết định (classification and regression trees) ..................... 21
4.3.5
K-nearest neighbor (KNN) ................................................................................. 23
4.3.6
Linear least square fit (LLSF) ............................................................................ 23
4.4
Các thông số đánh giá giải thuật ................................................................................ 24
Chương 5.
Hiện thực chương trình phân loại tin tức tiếng Việt ........................................... 26
5.1
Phân tích yêu cầu đề tài ............................................................................................. 26
5.2
Quy trình phân loại tin tức tự động bằng học máy .................................................... 27
5.3
Thu thập dữ liệu ......................................................................................................... 28
5.4
Tiền xử lý dữ liệu ....................................................................................................... 32
5.4.2
Tách từ ................................................................................................................ 32
5.4.3
Loại bỏ dấu câu................................................................................................... 33
5.4.4
Chuyển đổi tin tức thành chuỗi số ...................................................................... 34
5.4.5
Véc-tơ hóa dữ liệu .............................................................................................. 35
5.4.6
Phân loại tin tức dựa trên mô hình phân lớp ...................................................... 38
5.5
Phân loại tin tức bằng học máy .................................................................................. 39
Chương 6.
Giao diện chương trình & cách sử dụng ............................................................. 43
Chương 7.
Kết quả thực nghiệm và đánh giá ....................................................................... 49
7.1
Kết quả thực nghiệm .................................................................................................. 49
7.1.2
Kết quả thực nghiệm 1........................................................................................ 49
7.1.3
Kết quả thực nghiệm 2........................................................................................ 50
7.1.4
Kết quả thực nghiệm 3........................................................................................ 50
7.1.5
Kết quả thực nghiệm 4........................................................................................ 50
7.1.6
Kết quả thực nghiệm 5........................................................................................ 51
7.2
Đánh giá ..................................................................................................................... 51
Chương 8.
Kết luận .............................................................................................................. 52
8.1
Kết luận ...................................................................................................................... 52
8.2
Kiến nghị .................................................................................................................... 52
Tài liệu tham khảo .................................................................................................................... 53
Phụ lục 1 ................................................................................................................................... 54
Phụ lục 2 ................................................................................................................................... 56
Phụ lục 3 ................................................................................................................................... 57
vi
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
DANH MỤC HÌNH
Hình 3.1 Quy trình phân loại văn bản của [6] .................................................................................. 6
Hình 3.2 Quy trình phân loại văn bản theo [4] ................................................................................. 7
Hình 3.3 Trình tự phân loại văn bản của [4] .................................................................................... 8
Hình 4.1 Ví dụ siêu phẳng với lề cực đại trong không gian hai chiều[6] ........................................... 18
Hình 4.2 Cây quyết định phân lớp mức lương ................................................................................ 21
Hình 5.1 Quy trình phân loại tin tức tự động ................................................................................. 27
Hình 5.2 Quy trình tách từ của VnTokenizer .................................................................................. 32
Hình 5.3 Giao diện Weka .............................................................................................................. 39
Hình 5.4 Giao diện tab Preprocess của Weka ................................................................................. 40
Hình 5.5 Giao diện tab Classify của Weka ...................................................................................... 41
Hình 5.6 Giao diện Weka sau khi phân loại .................................................................................... 42
Hình 6.1 Giao diện chương trình ban đầu ...................................................................................... 43
Hình 6.2 Giao diện chương trình sau khi phân loại một bài viết ....................................................... 44
Hình 6.3 Giao diện tính năng phân loại thông qua url ..................................................................... 45
Hình 6.4 Giao diện sau khi phân loại một bài viết từ url ................................................................. 46
Hình 6.5 Giao diện tính năng phân loại nhiều bài viết từ thư mục ................................................... 47
Hình 6.6 Kết quả sau khi phân loại nhiều bài viết từ thư mục ......................................................... 48
vii
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
DANH MỤC BẢNG
Bảng 3.1 Kết quả phân loại của [6] ................................................................................................. 7
Bảng 3.2 Kết quả phân loại văn bản [4] .......................................................................................... 8
Bảng 3.3 Kết quả phân loại theo [12] ........................................................................................... 10
Bảng 5.1 Cấu trúc bảng lưu trữ dữ liệu nguồn ............................................................................... 31
Bảng 5.2 Tỉ lệ dữ liệu lấy về đúng ................................................................................................ 31
Bảng 5.3 Bảng thống kê tập dữ liệu tin tức ................................................................................... 32
Bảng 5.4 Cấu trúc bảng lưu trữ sau khi cắt từ và xóa dấu câu ........................................................ 33
Bảng 5.5 Cấu trúc bảng sau khi chuyển đổi sang chuỗi số .............................................................. 35
Bảng 5.6 Kết quả kiểm nghiệm chỉ số Max .................................................................................... 36
Bảng 5.7 Kết quả kiểm nghiệm chỉ số Min ..................................................................................... 36
Bảng 5.8 Cấu trúc bảng lưu các từ khóa ....................................................................................... 37
Bảng 7.1 Bảng so sánh kết quả chạy thử nghiệm với nhiều giải thuật khác nhau ............................. 49
Bảng 7.2 Kết quả thực nghiệm 1 .................................................................................................. 49
Bảng 7.3 Kết quả thực nghiệm 2 .................................................................................................. 50
Bảng 7.4 Kết quả thực nghiệm 3 .................................................................................................. 50
Bảng 7.5 Kết quả thực nghiệm 4 .................................................................................................. 50
Bảng 7.6 Kết quả thực nghiệm 5 .................................................................................................. 51
viii
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
CNTT
SVM
SVD
KNN
TBL
WFST
Tf-Idf
CART
LLSF
TP
FP
TN
FN
SMO
Stop word
CSDL
Ý nghĩa
Công Nghệ Thông Tin
Support Véc-tơ Machine
Singular Value Decomposition
K Nearest Neighbors
Transformation-Based learning
Weighted Finite-State Transducer
Term frequency – inverse document frequeny
Classification and Regression Trees
Linear Least Square Fit
True Positive
False Positive
True Negative
False Negative
Sequential Minimal Optimization
Những từ không có giá trị trong việc phân
loại tin tức. Là những từ phổ biến hoặc hiếm
gặp.
Cơ Sở Dữ Liệu
ix
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
Chƣơng 1.
GIỚI THIỆU
1.1 GIỚI THIỆU ĐỀ TÀI
Trong thời đại CNTT hiện nay chỉ với vài cú click chuột là bạn có thể biết được tin tức thuộc
mọi thể loại, từ khắp nơi trên thế giới. Với hàng loạt tính năng ưu việt của tin tức số như: lưu
trữ gọn nhẹ, thời gian lưu trữ lâu dài, dễ dàng sửa đổi và thuận tiện trao đổi… thì việc xem tin
tức trên mạng đã trở thành một phần tất yếu trong cuộc sống của nhiều người, đặc biệt là giới
trẻ. Kéo theo đó là sự bùng nổ về số lượng tin tức trên world-wide-web. Số lượng tin ngày
càng nhiều, tốc độ thay đổi thông tin thì vô cùng nhanh chóng. Với lượng tin tức đồ sộ như
vậy, một yêu cầu lớn đặt ra là làm sao tổ chức, tìm kiếm thông tin có hiệu quả nhất. Việc lưu
trữ, phân loại hợp lý là hướng giải quyết phù hợp nhất cho vấn đề đó. Nhưng thực tế công
việc đó đang được thực hiện thủ công, tốn nhiều thời gian và công sức do đó việc phân loại tự
động đã trở nên cần thiết hơn.
Từ nhu cầu thực tiễn trên, trong đề tài luận văn tốt nghiệp này, chúng tôi tìm hiểu các bước để
tiến hành phân loại tin tức bằng học máy, các phương pháp phân loại tin tức áp dụng với tập
dữ liệu là tin tức thuộc một số thể loại nhất định lấy từ các trang tin tức trực tuyến tiếng Việt.
Từ tập dữ liệu đó, chúng tôi sẽ tiến hành xây dựng chương trình thực nghiệm áp dụng các
phương pháp đã tìm hiểu tiến hành phân loại và đo độ chính xác của các giải thuật.
1.2 MỤC TIÊU ĐỀ TÀI
Các mục tiêu và nhiệm vụ được đặt ra của đề tài gồm:
Tìm hiểu các phương pháp học máy ứng dụng cho phân tích tin tức tiếng Việt.
Sử dụng các thư viện sẵn có để hỗ trợ xây dựng chương trình phân loại tin tức.
1.3 BỐ CỤC LUẬN VĂN
Nội dung của đề tài luận văn tốt nghiệp này được trình bày thành 8 chương. Trong đó 2
chương đầu giới thiệu đề tài, các khái niệm liên quan từ tổng quát đến cụ thể. Hai chương tiếp
theo trình bày cơ sở lý thuyết. Hai chương kế tiếp trình bày về việc xây dựng chương trình
phân loại tin tức sử dụng các phương pháp học máy và hai chương cuối là kết quả kiểm thử,
đánh giá, kết luận. Nội dung cụ thể từng chương như sau:
Chương 1 giới thiệu khái quát đề tài, bối cảnh CNTT hiện nay dẫn đến nhu cầu của việc phân
loại tin tức bằng các phương pháp học máy, mục tiêu cần đạt được và bố cục của luận văn tốt
nghiệp này.
Chương 2 trình bày tổng quan về bài toán phân loại tin tức sử dụng các phương pháp học máy
từ tổng quát đến cụ thể. Chương này đưa ra các khái niệm: khai phá dữ liệu, bài toán phân loại
văn bản, học máy.
Chương 3 trình bày các đề tài nghiên cứu liên quan, nêu khái quát đặc điểm các phương pháp
được sử dụng tại mỗi bước của quy trình phân loại của các đề tài nghiên cứu đó và kết quả
thực nghiệm của đề tài.
Chương 4 trình bày kiến thức nền tảng, cơ sở lý thuyết sử dụng trong luận văn theo bố cục
từng bước phân loại tin tức tiếng Việt sử dụng các phương pháp học máy. Cụ thể là trình bày
1
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
các giải thuật, phương pháp trong 3 bước sau: tiền xử lý dữ liệu, mô hình hóa văn bản và phân
loại văn bản dùng học máy.
Chương 5 trình bày về việc hiện thực chương trình phân loại tin tức, các công việc đã làm, các
thư viện sẵn có đã sử dụng, các giải thuật, phương pháp đã dùng.
Chương 6 trình bày giao diện chương trình thử nghiệm, các chức năng, cách sử dụng.
Chương 7 trình bày về các kết quả đạt được, kết quả thử nghiệm và đánh giá kết quả.
Chương 8 trình bày kết luận và kiến nghị, phương hướng phát triển của đề tài.
Ngoài ra báo cáo còn có các phần tóm tắt, phụ lục, tài liệu tham khảo, các phần còn lại khác.
2
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
Chƣơng 2.
TỔNG QUAN VỀ BÁI TOÁN PHÂN LOẠI TIN TỨC
BẰNG PHƢƠNG PHÁP HỌC MÁY
Phân loại tin tức là một bài toán con, phát triển trên nền của bài toán phân loại văn bản, đây là
một trong những bài toán kinh điển của lĩnh vực Khai phá Dữ liệu Văn bản (text Mining).
Chương này trình bày tổng quan về khai phá dữ liệu (data Mining); bài toán phân lớp văn bản
với một số đặc điểm, ứng dụng của nó; giới thiệu về học máy và đưa ra quy trình phân lớp
văn bản chung cho hầu hết các phương pháp phân loại văn bản theo hướng học máy.
2.1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
2.1.1
KHAI PHÁ DỮ LIỆU (DATA MINING)
Trong bối cảnh bùng nổ CNTT hiện nay, lượng dữ liệu ngày càng tăng lên cả về số lượng và
chất lượng. Tuy nhiên, chỉ một phần nhỏ trong khối dữ liệu khổng lồ đó là có giá trị sử dụng.
Nhu cầu tìm kiếm và khai thác tri thức từ khối dữ liệu đó đã mở ra một khía cạnh mới của
ngành công nghệ thông tin đó là Khai thác tri thức từ cơ sở dữ liệu (Knowledge Discovery
from Data hay KDD) [11].
Khai phá dữ liệu là một bước trong quá trình khai thác tri thức [11]. Bao gồm:
Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (problem understanding
and data understanding).
Chuẩn bị dữ liệu (data preparation), bao gồm các quá trình làm sạch dữ liệu (data
cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data selection), biến đổi dữ
liệu (data transformation).
Khai thác dữ liệu (data mining): xác định nhiệm vụ khai thác dữ liệu và lựa chọn kỹ
thuật khai thác dữ liệu. Kết quả cho ta một nguồn tri thức thô.
Đánh giá (evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc nguồn tri thức
thu được.
Triển khai (deployment).
Quá trình khai thác tri thức không thực hiện tuần tự từ bước đầu tiên đến bước cuối cùng mà
đó là một quá trình lặp đi lặp lại nhiều lần.
Khai phá dữ liệu có thể hiểu đơn giản là quá trình chắt lọc và khai thác tri thức từ một khối dữ
liệu lớn. Việc này cần sử dụng kiến thức từ nhiều ngành và nhiều lĩnh vực khác nhau như
thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, tính toán song song,… Đặc biệt, nó rất gần gũi với
lĩnh vực thống kê, sử dụng các phương pháp thống kê để mô hình hóa dữ liệu và phát hiện các
mẫu. Ứng dụng của khai phá dữ liệu có thể kể đến như: cung cấp tri thức, hỗ trợ ra quyết định,
dự báo, khái quát dữ liệu.
Các phương pháp khai phá dữ liệu:
Bài toán phân lớp (classification): Ánh xạ một mẫu dữ liệu vào một trong các lớp cho
trước.
Bài toán hồi quy (regression): Tìm một ánh xạ hồi quy từ một mẫu dữ liệu vào một
biến dự đoán có giá trị thực.
Bài toán lập nhóm (clutering): Là việc mô tả chung để tìm các tập xác định hữu hạn
các nhóm hay các loại để mô tả dữ liệu.
3
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
Bài toán tổng hợp (summarization): Là việc đi tìm kiếm một mô tả chung tóm tắt từ
một tập dữ liệu con.
Mô hình ràng buộc (dependency modeling): Là việc đi tìm một mô hình mô tả sự phụ
thuộc giữa các biến hay giữa các giá trị của các tính năng trong tập dữ liệu.
Dò tìm biến đổi và độ lệch (change and deviation dectection): Là việc tìm những thay
đổi lớn nhất trong tập dữ liệu.
2.1.2
KHAI PHÁ DỮ LIỆU VĂN BẢN (TEXTMINING)
Khai phá dữ liệu văn bản là quá trình khai phá các tri thức đáng quan tâm hay có giá trị từ các
tài liệu văn bản phi cấu trúc. Bài toán Khai phá dữ liệu văn bản là một bài toán đa lĩnh vực
bao gồm nhiều kĩ thuật và các hướng nghiên cứu khác nhau : thu thập thông tin (information
retrieval), phân tích văn bản (text analysis), chiết xuất thông tin (information extraction), lập
đoạn (clustering), phân loại văn bản (categorization)…Trong phần tiếp theo, chúng tôi sẽ trình
bày sâu hơn về bài toán Phân loại văn bản (categorization) nội dung của đề tài luận văn này.
2.2 HỌC MÁY (MACHINE LEARNING)
Học máy là một ngành khoa học thuộc lĩnh vực trí tuệ nhân tạo, nghiên cứu và xây dựng các
kĩ thuật cho phép các hệ thống “học” tự động từ dữ liệu để giải quyết những vấn đề cụ thể.
Những kĩ thuật này hoạt động bằng cách xây dựng một mô hình dựa trên tập dữ liệu đầu vào
và sử dụng nó để tiến hành dự đoán hay đưa ra quyết định. Học máy có liên quan mật thiết tới
thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu nhưng khác với thống kê,
học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán.
Học máy có ứng dụng rộng khắp trong hầu hết mọi lĩnh vực của cuộc sống: Xử lý ngôn ngữ
tự nhiên, tìm kiếm (search engine), chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị
trường chứng khoán, phân loại các chuỗi ADN, nhận dạng tiếng nói và chữ viết, dịch tự
động…và phân loại văn bản tự động.
2.3 BÀI TOÁN PHÂN LOẠI VĂN BẢN TỰ ĐỘNG BẰNG HỌC MÁY
Phân loại tin tức là một dạng của bài toán phân loại văn bản. Phân loại văn bản là một bài
toán xử lí văn bản cổ điển, đó là ánh xạ một văn bản vào một chủ đề đã biết trong một tập hữu
hạn các chủ đề dựa trên ngữ nghĩa của văn bản. Theo Yang & Xiu (1999)[13] “Phân loại văn
bản tự động là việc gán các nhãn phân loại lên một văn bản mới dựa trên mức độ tương tự
của văn bản đó so với các văn bản đã được gán nhãn trong tập huấn luyện”. Ví dụ một tin
tức trong một tờ báo có thể thuộc một hoặc nhiều chủ đề (như thể thao, sức khỏe, công nghệ
thông tin,…). Việc tự động phân loại văn bản vào một chủ đề nào đó giúp cho việc sắp xếp,
lưu trữ và truy vấn tài liệu dễ dàng hơn về sau.
Bài toán phân loại văn bản có nhiều ứng dụng. Ứng dụng lớn nhất của nó là phân loại và áp
dụng vào bài toán lọc nội dung. Trong bài toán lọc nội dung, các văn bản sẽ được chia ra hai
loại có ích và không có ích, sau đó giữ lại các văn bản có ích và loại bỏ các văn bản không có
ích. Cụ thể như phân loại email spam, lọc trang web có nội dung không phù hợp, lọc các tài
liệu không có ích…Với ứng dụng phân loại, bài toán này giúp phân loại tin tức trên một trang
web, phân loại tài liệu trong công ty... Tự động phân loại văn bản là một ứng dụng thực tiễn
hết sức to lớn của bài toán phân lớp văn bản. Nó giải phóng các tổ chức, công ty khỏi việc
phân loại thủ công kho tài liệu của họ, một việc mà có thể sẽ mất rất nhiều tiền của, hoặc đơn
4
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
giản là không thể làm được do những ràng buộc về vấn đề thời gian hoặc số tài liệu liên quan.
Ngoài ra bài toán này còn hỗ trợ trong việc tìm kiếm trên Internet, giúp định vị nội dung
thông tin cần tìm nhanh chóng và dễ dàng hơn.
Đặc điểm nổi bật của bài toán này là sự đa dạng của chủ đề văn bản và tính đa chủ đề của văn
bản. Số chủ đề các loại văn bản gần như là không có giới hạn. Một số chủ đề phổ biến trong
tin tức Tiếng Việt như: chính trị, kinh tế, xã hội, giáo dục… Một số chủ đề là “con” của một
hoặc một số chủ đề khác. Ví dụ chủ đề bóng đá ngoại hạng Anh, chủ đề bóng đá Tây Ban Nha
là con của chủ đề bóng đá và bóng đá là con của chủ đề thể thao. Tính đa chủ đề của văn bản
làm cho sự phân loại chỉ mang tính chất tương đối và có phần chủ quan của người thực hiện,
dẫn đến sự nhập nhằng khi phân loại tự động. Rõ ràng một bài viết về giáo dục cũng có thể
xếp vào kinh tế nếu như bài viết bàn về tiền bạc đầu tư cho giáo dục và tác động của đầu tư
này đến kinh tế - xã hội. Hay một bài viết về thể thao cũng có thể xếp vào sức khỏe nếu như
nó bàn về việc tập luyện, chấn thương, hồi phục của các vận động viên. Về bản chất, một văn
bản là một tập hợp từ ngữ có liên quan với nhau tạo nên nội dung, ý nghĩa của văn bản. Từ
ngữ của một văn bản rất đa dạng do tính đa dạng của ngôn ngữ (đồng nghĩa, đa nghĩa, từ ghép,
từ đơn, từ vay mượn nước ngoài,…) và số lượng từ cần xét là lớn. Ở đây cần lưu ý rằng, một
văn bản có thể có số lượng từ ngữ không nhiều, nhưng số lượng từ ngữ cần xét là rất nhiều vì
phải bao hàm tất cả các từ của ngôn ngữ đang xét. Trên thế giới đã có nhiều công trình nghiên
cứu đạt những kết quả khả quan, nhất là đối với phân loại văn bản tiếng Anh. Theo tìm hiểu
của chúng tôi, một số phương pháp phân loại thông dụng hiện nay là: Support Véc-tơ
Machine – Joachims 1998, k-Nearest Neighbor – Yang 1994, Linear Least Squares Fit – Yang
and Chute 1994, Neural Network – Wiener et al 1995, Naïve Bayes – Baker and Mccallum
2000, Centroid- based – Shankar and Karypis 1998. Các phương pháp trên đều dựa vào xác
suất thống kê hoặc thông tin về trọng số của từ trong văn bản. Tuy vậy, các nghiên cứu và ứng
dụng đối với văn bản tiếng Việt còn nhiều hạn chế do khó khăn về tách từ và câu.
5
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
Chƣơng 3.
CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Phân loại văn bản nói chung hay phân loại tin tức nói riêng là một lĩnh vực đã có rất nhiều
công trình nghiên cứu, bài báo, luận văn, đồ án, đề cập đến. Các công trình đó đều đạt được
những kết quả hết sức khả quan và có nhiều điểm để học hỏi. Trong chương này chúng tôi sẽ
trình bày ba công trình nghiên cứu mà theo đánh giá chủ quan của chúng tôi là tương đối đơn
giản, và chúng tôi tìm hiểu nhiều nhất để hoàn thành đồ án này.
3.1 PHÂN LOẠI VĂN BẢN VỚI MÁY HỌC VÉC-TƠ HỖ TRỢ VÀ CÂY
QUYẾT ĐỊNH
Công trình nghiên cứu đầu tiên chúng tôi tham khảo là bài báo nghiên cứu khoa học của hai
tác giả Trần Cao Đệ và Phạm Nguyên Khang công tác tại Đại học Cần Thơ, được đăng trên
Tạp chí Khoa học 2012:21a 52-63. Như tác giả đã viết trong [6]: “Bài viết này nghiên cứu
máy học véc-tơ hỗ trợ (SVM), áp dụng nó vào bài toán phân loại văn bản và so sánh hiệu quả
của nó với hiệu quả của giải thuật phân lớp cổ điển, rất phổ biến đó là cây quyết định.”
Ngoài ra để áp dụng có hiệu quả giải thuật SVM, tác giả đã sử dụng kĩ thuật phân tích giá trị
đơn (SVD - Singular Value Decomposition) để rút ngắn số chiều của không gian đặc trưng, từ
đó giảm nhiễu quá trình phân loại.
Tác giả tiến hành phân loại văn bản theo trình tự như sau:
Tiền xử lý dữ
liệu
Tách từ bằng
MMSEG
Véc-tơ hóa
văn bản
TF-IDF Véc-tơ
Phân loại văn
bản bằng học
máy
Weka (SVM,
cây quyết
định)
Hình 3.1 Quy trình phân loại văn bản của [6]
Trong giai đoạn tiền xử lý dữ liệu, tác giả sử dụng giải thuật MMSEG để tiến hành tách từ.
Đây là giải thuật được dùng phổ biến để tách từ tiếng Trung Quốc với độ chính xác 99%[6] và
đã được áp dụng vào tách từ Tiếng Việt thành công trong nhiều công trình. Theo nghiên cứu
của tác giả giải thuật này khi áp dụng vào tách từ tiếng Việt sẽ cho độ chính xác trên 95%[6].
Sau khi tách từ tác giả tiến hành mô hình hóa văn bản thành dạng véc-tơ, sử dụng TF-IDF
véc-tơ hóa; tiến hành phân loại văn bản với hai giải thuật SVM và cây quyết định trong phần
mềm Weka. Với tập dữ liệu là 7842 văn bản thuộc 10 chủ đề khác nhau, ứng với mỗi chủ đề,
tác giả chọn ra 500 văn bản một cách ngẫu nhiên để tiến hành huấn luyện, số văn bản còn lại
để kiểm chứng độc lập. Để huấn luyện SVM, tập ngữ liệu đang xét sẽ được phân tích giá trị
đơn và rút ngắn số chiều. Kết quả về hiệu quả phân loại văn bản với cây quyết định và máy
học SVM được tác giả thể hiện qua bảng III.1:
6
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
Bảng 3.1 Kết quả phân loại của [6]
Tên lớp
CNTT
ĐTVT
Giáo dục
Ẩm thực
Bất động sản
Khoa học
Kinh tế
Y học
Thể thao
Giải trí
Cây quyết định
Precision
Recall
84.5%
87.4%
81.9%
80.5%
83.4%
77.3%
83.8%
86.9%
81.5%
84.9%
84.3%
80.1%
86.2%
83.5%
84.9%
89.9%
84.3%
94.8%
85.5%
78.6%
Trung bình
F1
85.9%
81.2%
80.2%
85.3%
83.2%
82.2%
84.8%
87.3%
89.2%
81.9%
84.1%
Máy học SVM
Precision
Recall
89.5%
92.7%
88.2%
87.2%
90.2%
92.3%
93.2%
93.8%
91.9%
94.0%
90.0%
89.0%
91.0%
87.3%
91.2%
89.9%
91.8%
93.4%
92.8%
90.0%
Trung bình
F1
91.1%
87.7%
91.2%
93.5%
92.9%
89.5%
89.1%
90.5%
92.6%
91.4%
91.0%
Qua kết quả thực nghiệm có thể thấy phân lớp với SVM thực sự tốt hơn phân lớp bằng cây
quyết định. Ngoài ra, việc dùng SVD để phân tích và rút gọn số chiều của không gian đặc
trưng đã nâng cao hiệu quả phân lớp SVM.
3.2 XÂY DỰNG HỆ THỐNG PHÂN LOẠI TÀI LIỆU TIẾNG VIỆT
Công trình thứ hai mà chúng tôi tham khảo là Bài báo Nghiên cứu Khoa học của hai tác giả
Trần Thị Thu Thảo và Vũ Thị Chinh công tác tại Khoa Công nghệ thông tin, trường Đại học
Lạc Hồng[4]. Đề tài này áp dụng phương pháp Naïve Bayes thực hiện phân loại trên đối
tượng là các bài báo khoa học thuộc 9 chuyên ngành trong lĩnh vực Công nghệ thông tin.
Trong bài báo tác giả đưa ra các bước xử lý chung của quy trình phân loại văn bản qua sơ đồ:
Hình 3.2 Quy trình phân loại văn bản theo [4]
7
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
Sau đó tác giả tiến hành phân loại văn bản theo trình tự hình III.3:
Tiền xử lý dữ
liệu
Tách từ bằng
N-gram
Véc-tơ hóa
văn bản
TF-IDF Véc-tơ
Phân loại văn
bản
Giải thuật
Naïve Bayes
Hình 3.3 Trình tự phân loại văn bản của [4]
Tác giả tiến hành xây dựng module tách từ theo mô hình N-gram, sau đó mô hình hóa văn bản
đã được tách từ bằng véc-tơ TF-IDF. Với tập dữ liệu đã được mô hình hóa thành véc-tơ, tác
giả tiến hành phân loại dựa trên phương pháp Naïve Bayes. Tác giả xây dựng phần mềm phân
loại, tích hợp thêm các chức năng quản lý, sửa, xóa bài báo để tiến hành thử nghiệm trên tập
dữ liệu là 281 bài báo khoa học thuộc các chuyên ngành của lĩnh vực CNTT. Kết quả phân
loại được thể hiện trong bảng III.2:
Bảng 3.2 Kết quả phân loại văn bản [4]
STT
1
2
3
4
5
6
7
8
9
Tập dữ liệu
Phân
loại tay
Phân
loại máy
Phân loại sai
chuyên ngành
Tỉ lệ
(%)
23
34
32
20
30
28
3
4
4
86.95
88.23
87.5
25
22
3
88
40
26
31
28
35
23
27
23
5
3
4
5
87.5
88.46
87.09
82.14
42
38
4
90.47
Các hệ thống tính toán đi động
Công nghệ đa phương tiện
Công nghệ phần mềm
Cơ sở toán học của công nghệ
thông tin
Hệ thống thông tin
Khoa học máy tính
Mạng máy tính và truyền thông
Trí tuệ nhân tạo
Xử lý ngôn ngữ tự nhiên và tiếng
nói
Trung bình
87.37
Tuy kết quả phân loại đạt được khá khả quan tuy nhiên đề tài còn hạn chế về tập dữ liệu thử
nghiệm và chưa có những so sánh đánh giá phương pháp Naïve Bayes với các phương pháp
phân loại khác.
8
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
3.3 PHÂN LOẠI EMAIL SPAM BẰNG MATLAB ÁP DỤNG 6 GIẢI THUẬT
3.3.1
GIỚI THIỆU
Đây là đồ án cuối khóa Phân Loại Email Spam môn Học Máy của hai tác giả Shahar Yifrah
và Guy Lev[12]. Toàn bộ dữ liệu và source code của đồ án được đưa lên và tải miễn phí tại
/>Trong đồ án này, tác giả sử dụng 6 giải thuật để tiến hành phân loại email spam bằng Matlab
và so sánh hiệu suất giữa chúng. Sáu giải thuật đó bao gồm:
Adaboost
Naïve Bayes
Perceptron
Winnow
SVM (Support Véc-tơ Machine)
KNN (K-Nearest Neighbors)
Tác giả đánh giá hiệu suất phân loại của các giải thuật dựa trên hai khía cạnh:
Error rate: tỉ lệ để sót email spam.
False positive ratio: (number of false positives) / (number of ham messages). Tỉ lệ
phân loại sai email bình thường thành email spam trên tổng số email bình thường.
3.3.2
TIỀN XỬ LÝ DỮ LIỆU VÀ MÔ HÌNH HÓA VĂN BẢN
Với tập dữ liệu là 5172 email, trong đó 29% email spam và 71% email thường. Tác giả xây
dựng một Python script tiến hành tiền xử lý dữ liệu và véc-tơ hóa các email.
Tiền xử lý dữ liệu hay tách từ là công việc khá đơn giản với ngôn ngữ tiếng Anh, bởi các từ
được phân biệt với nhau bằng khoảng trắng.
Cách véc-tơ hóa email: tác giả chọn ra 100 từ trong tập dữ liệu. Mỗi email được biểu diễn
bằng tần suất xuất hiện của 100 từ đó trong chính nó. Những từ được chọn có thể là một trong
những kí tự đặc biệt như ;([!$#. Cách chọn ra 100 từ để xây dựng véc-tơ của tác giả:
Đầu tiên với mỗi từ riêng biệt xuất hiện trong tập dữ liệu. Tác giả xếp hạng chúng theo thuộc
tính Spamicity. Được tính theo công thức:
( )
( | )
(
( | )
( | )
)
Trong đó:
( | ): Xác suất từ w xuất hiện trong email spam.
( | ): Xác suất từ w xuất hiện trong email thường.
Các xác suất này được ước lượng thông qua tập huấn luyệning.
Những từ có Spamicity càng gần 1 thì càng là những từ đại diện cho email thường và ngược
lại, spamicity của từ đó càng gần 0 thì từ đó thường đại diện cho email spam. Do đó những từ
9
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
có giá trị spamicity càng xa 0.5 (lớn hơn hoặc nhỏ hơn) thì xếp hạng càng cao. Tuy nhiên
trong trường hợp các xác suất ( | ) ( | ) quá nhỏ thì những từ đó rất khó được chọn
cho dù nó có giá trị spamicity phù hợp. Để giải quyết vấn đề đó tác giả đưa ra trình tự lựa
chọn 100 từ như sau:
Lọc ra những từ có |
–
|
Lọc ra những từ hiếm, tần suất xuất hiện nhỏ hơn 1% trong toàn bộ tập dữ liệu
Với những từ chưa được lọc ra, tính giá trị | ( | )
( | )|
Chọn 100 từ có giá trị | ( | )
( | )| lớn nhất.
3.3.3
XÂY DỰNG TẬP HUẤN LUYỆN VÀ KIỂM THỬ, KẾT QUẢ THỰC
NGHIỆM
Ngoài việc véc-tơ hóa các email thì Python script còn tạo ra 90 cặp tập huấn luyện và tập
kiểm thử. Tác gỉa chọn tỉ lệ kích thước tập huấn luyện so với kích thước tập dữ liệu tăng dần
từ 0.1, 0.2, 0.3… đến 0.9. Ứng với mỗi tỉ lệ, lại chọn ra ngẫu nhiên 10 cặp tập huấn luyện và
tập kiểm thử để tiến hành kiểm thử. Kết quả đạt được thể hiện trong bảng III.3:
Bảng 3.3 Kết quả phân loại theo [12]
Minimizing Error (%)
AdaBoost
Naïve Bayes
Perceptron
Winnow
SVM
KNN
Error Rate
8.7
7.6
18.5
16.9
5
8.8
FP Ratio
4
3
12.5
6.8
4.5
9.5
Minimizing False Positive Ratio (%)
Error Rate
NA
20
NA
19.3
NA
20
FP Ratio
NA
0.5
NA
4.4
NA
0.77
Chúng ta có thể thấy rằng hai giải thuật tốt nhất là SVM và Naïve Bayes. Naïve Bayes là giải
thuật dễ hiện thực và thời gian chạy ngắn, lại cho hiệu suất cao không khó hiểu khi nó được
sử dụng rộng rãi trong thực tiễn.
10
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
Chƣơng 4.
QUY TRÌNH PHÂN LOẠI TIN TỨC
Sau khi tìm hiểu về các công trình liên quan, chúng tôi rút ra được nhiều phương pháp áp
dụng vào từng bước của quy trình phân loại tin tức. Nội dung chương này trình bày cụ thể nền
tảng kiến thức, các cơ sở lý thuyết sử dụng trong đồ án theo từng bước của quy trình phân loại
tin tức.
4.1 TIỀN XỬ LÝ DỮ LIỆU
Như đã nói ở trên, văn bản là ngôn ngữ phi cấu trúc, để máy có thể hiểu được và tiến hành
phân loại tự động, ta cần chuyển chúng về dạng thích hợp, dạng ngôn ngữ có cấu trúc. Giai
đoạn tiền xử lý dữ liệu này là bước đệm để việc chuyển đổi văn bản hay véc-tơ hóa văn bản ở
bước sau được tiến hành thuận lợi và có hiệu suất cao nhất cho quá trình phân loại sau này.
Các việc chính trong giai đoạn này là: Tách từ và loại bỏ stop word.
4.1.1
ĐẶC ĐIỂM CỦA NGÔN NGỮ TIẾNG VIỆT
Tiếng Việt là loại hình ngôn ngữ đơn lập. Nghĩa là mỗi tiếng được phát âm tách rời nhau và
được thể hiện bằng một chữ viết. Mỗi từ có thể được cấu thành bởi một hoặc nhiều tiếng.
Tiếng, về hình thức, nó trùng với một đoạn phát âm tự nhiên gọi là âm tiết. Về nội dung nó là
đơn vị nhỏ nhất có nội dung được thể hiện. Về ý nghĩa, có những tiếng tự thân nó đã mang
một ý nghĩa, phản ánh một đối tượng hoặc khái niệm, ví dụ: cây, trời, cỏ, lá, ăn, nói, cười…
Có những tiếng không phản ánh hay thể hiện một ngữ nghĩa hay đối tượng nào cả. Nhưng bản
thân sự có mặt của nó trong từ có thể tạo nên một sự khác biệt lớn. Nghĩa là nó kết hợp với
một hay nhiều tiếng khác có nghĩa để tạo nên từ (ví dụ: tiếng “sá” trong từ “đường sá”, “e”
trong từ “e lệ”, “khúc” trong từ “khúc mắc”…) hoặc kết hợp với tiếng khác nhưng cũng
không có nghĩa và tạo nên từ có nghĩa, trường hợp này thường ít gặp, đa số là các từ vay
mượn nước ngoài. (ví dụ: cát-sét, ti-vi, phẹt-mơ-tuya…).
Từ trong tiếng Việt được cấu thành bởi một hay nhiều tiếng tổ hợp lại. Có hai loại từ chính là
từ đơn và từ ghép. Từ đơn là những từ được cấu thành bằng một tiếng, ví dụ: đi, chạy, cười,
đùa, vui, buồn, tôi, bạn…Từ ghép là từ được cấu thành từ hai hay nhiều tiếng, mà những tiếng
đó có quan hệ ngữ nghĩa với nhau, ví dụ: chợ búa, bếp núc, cơ quan, trường học, cây cảnh,
hợp tác xã…
Từ là đơn vị cấu thành nên câu trong tiếng Việt, chứ không phải từ “tiếng” cho nên việc tách
từ trong giai đoạn tiền xử lý dữ liệu sẽ cho hiệu quả phân loại cao hơn so với việc “tách tiếng”.
Tuy nhiên, khác với tiếng Anh “từ là nhóm kí tự có nghĩa được tách biệt với nhau bởi khoảng
trắng trong câu” (Webster Dictionary), do đó tách từ tiếng Anh là công việc rất đơn giản.
Còn từ tiếng Việt như đặc điểm đã được nêu trên không được mặc định là được tách với nhau
bởi khoảng trắng. Ví dụ: school, student, market là những từ tiếng Anh với các từ tiếng Việt
tương đương là trường học, học sinh, chợ. Nếu tiến hành tách từ tiếng Việt theo khoảng trắng
sẽ không giữ được ngữ nghĩa của từ, việc này cũng tương đương với việc tách tiếng. Cho nên
việc tách từ trong tiếng Việt là một công việc khó khăn đầy thú vị.
11
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
4.1.2
NHẬP NHẰNG TRONG TÁCH TỪ TIẾNG VIỆT
Nếu chúng ta tiến hành tách từ thủ công, thì việc nhập nhằng rất khó xảy ra. Do ta đã hiểu
được ngữ nghĩa của câu và tách từ dựa trên ngữ nghĩa của từ trong câu. Tuy nhiên việc tách từ
bằng tay là điều không thể thực hiện được với tập dữ liệu khổng lồ trên Internet. Mà máy tính
thì không thể hiểu hết ngữ nghĩa của câu, nên việc nhập nhằng xảy ra là tất yếu.
Nhập nhằng trong tách từ tiếng Việt có thể chia làm hai loại:
Nhập nhằng chồng chéo: chuỗi “a b c” bị nhập nhằng chồng chéo khi mà cả “a b” và “b c”
đều xuất hiện trong từ điển. Ví dụ: “Máy bay lượn ba vòng trên không trước khi đáp xuống.”.
Trong chuỗi “máy bay lượn” thì “máy bay” và “ bay lượn” đều có trong từ điển.
Nhập nhằng kết hợp: chuỗi “a b c” bị nhập nhằng kết hợp khi mà cả “a”,”b”,”a b” đều xuất
hiện trong từ điển. Ví dụ: “Đàn gà mới nở hôm qua chết mất hai con.”. Các từ ”đàn”, “gà”,
“đàn gà” đều có nghĩa trong từ điển.
Ngoài vấn đề nhập nhằng, khi tách từ tiếng Việt còn gặp các khó khăn trong việc xác định các
từ chưa biết trước (đối với máy tính) như danh từ riêng, từ vay mượn nước ngoài, từ chỉ số,
các câu thành ngữ, từ láy…
Mức độ giải quyết tốt hai vấn đề trên sẽ quyết định hiệu suất của một phương pháp tách từ và
quyết định nó có tốt hay không.
4.1.3
TÁCH TỪ
Một số nước châu Á có ngôn ngữ với cấu trúc, hình thái gần tương đồng với ngôn ngữ Tiếng
Việt như tiếng Nhật, tiếng Trung, tiếng Hàn đã xây dựng thành công nhiều phương pháp tách
từ với kết quả khá tốt. Những phương pháp đó có thể áp dụng vào trong việc tách từ tiếng
Việt. Trong luận văn này chúng tôi chỉ trình bày những phương pháp tách từ đã được áp dụng
vào tiếng Việt.
a)
PHƯƠNG PHÁP MAXIMUM MATCHING
Phương pháp khớp tối đa (maximum matching) hay còn gọi là Left Right Maximum
Matching. Trong phương pháp này, chúng ta sẽ duyệt một câu từ trái qua phải, sau đó chọn từ
có nhiều âm tiết nhất trong câu mà có mặt trong từ điển, rồi tiếp tục với các từ còn lại trong
câu đến khi hết câu và hết văn bản. Thuật toán này có hai dạng.
Dạng đơn giản: Giả sử chúng ta có một câu S = {l1, l2, l3…, lm} với l1, l2, l3…, lm là các âm
tiết đơn được tách nhau bời khoảng trắng trong câu. Chúng ta sẽ bắt đầu duyệt từ đầu chuỗi.
Xét xem l1 có phải là từ có trong từ điển không, sau đó tới l1-l2, l1-l2-l3…, l1-l2-l3…-ln với n là
số âm tiết lớn nhất của một từ có thể có nghĩa (có trong từ điển tiếng Việt) thông thường sẽ là
4 hoặc 5 đối với tiếng Việt. Sau đó chúng ta chọn từ có nhiều âm tiết nhất mà có trong từ điển
và đánh dấu từ đó, rồi tiếp tục quy trình trên với phần còn lại của câu và toàn bộ văn bản.
Dạng này khá đơn giản nhưng nó sẽ gặp phải nhiều nhặp nhằng trong tiếng Việt.
Dạng phức tạp: dạng này cũng thực hiện quy trình giống như dạng đơn giản. Tuy nhiên, dạng
này có thể tránh được một số nhập nhằng gặp phải trong dạng đơn giản. Giả sử khi duyệt câu
và chúng ta có l1 và l1-l2 đều là từ có trong từ điển thì thuật toán sử dụng chiến thuật 3 từ tốt
12
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
nhất. Tiêu chuẩn 3 từ tốt nhất được Chen & Liu (1992) [7] đưa ra. Nó có nội dung là khi một
chuỗi có thể tách thành nhiều cách thì ta chọn cách tách mà sao cho độ dài trung bình của các
từ được tách ra từ chuỗi là lớn nhất và sự chênh lệch độ dài các từ được tách ra là nhỏ nhất. Ví
dụ:
Ta có chuỗi L1-L2-L3-L4 có thể tách thành 3 cách:
L1, L2-L3, L4
L1-L2, L3-L4
L1-L2-L3, L4
Thì khi đó cách tách thứ hai sẽ được chọn và từ L1-L2 sẽ được đánh dấu do nó có độ dài trung
bình là 2 lớn hơn cách tách đầu và có độ chênh lệch độ dài giữa các từ là 0 nhỏ hơn với cách
tách thứ 3.
Ưu điểm của phương pháp này có thể thấy rõ là đơn giản, dễ hiểu, chạy nhanh và chỉ cần dựa
vào từ điển để thực hiện. Tuy nhiên nhược điểm của nó cũng chính là từ điển. Nghĩa là độ
chính xác khi thực hiện tách từ phụ thuộc hoàn toàn vào tính đủ, tính chính xác của từ điển.
Và cũng vì sử dụng từ điển mà thuật toán này gặp phải rất nhiều nhập nhằng cũng như không
có chiến lược gì với các từ chưa biết (các từ không có trong từ điển).
b)
PHƯƠNG PHÁP TRANSFORMATION-BASED LEARNING (TBL)
Phương pháp TBL (Transformation-Based learning) còn gọi là phương pháp học cải tiến,
được Eric Brill giới thiệu lần đầu vào năm 1995 [10]. Ý tưởng của phương pháp này là tiếp
cận dựa trên tập đã đánh dấu. Nghĩa là chúng ta sẽ huấn luyện cho máy tính biết cách nhận
diện ranh giới giữa các từ trong tiếng Việt từ đó có thể tách từ được chính xác. Để thực hiện
điều đó chúng ta sẽ cho mấy học các câu mẫu trong tập ngữ liệu đã được đánh dấu, tách từ
đúng. Sau khi học xong máy sẽ xác định được các tham số (bộ luật) cần thiết cho mô hình
nhận diện từ.
Phương pháp TBL có nhược điểm là tốn rất nhiều thời gian để cho máy học và không gian
nhớ do trong quá trình học máy sẽ sinh ra các bộ luật trung gian. Ngoài ra việc xây dựng một
bộ luật đầy đủ để phân đoạn từ là công việc hết sức khó khăn do bộ luật được máy học tạo
nên dựa trên tập ngữ liệu đã được đánh dấu. Cho nên sẽ có khá nhiều nhập nhằng trong việc
xảy ra. Tuy nhiên sau khi sinh ra được bộ luật thì TBL tiến hành phân đoạn khá nhanh. Hơn
nữa, ý tưởng của phương pháp này là rút ra quy luật ngôn ngữ từ những mẫu sẵn có và “sửa
sai” liên tục trong quá trình học là phù hợp với bài toán xử lý ngôn ngữ tự nhiên.
c)
PHƯƠNG PHÁP WEIGHTED FINITE-STATE TRANSDUCER (WFST)
Phương pháp WFST (Weighted Finite-State Transducer) còn gọi là phương pháp chuyển dịch
trạng thái hữu hạn có trọng số. Ý tưởng của phương pháp này vào phân đoạn tiếng Việt là các
từ sẽ được gán trọng số bằng xác suất xuất hiện của từ đó trong ngữ liệu. Dùng WFST duyệt
qua câu cần xét, cách duyệt có trọng số bé nhất sẽ được chọn là cách tách từ. Hoạt động của
WFST có thể chia thành 3 bước như sau.
13
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
Xây dựng từ điển có trọng số: theo mô hình WFST việc phân đoạn từ được xem như là một sự
chuyển dịch trạng thái có xác suất. Chúng ta miêu tả từ điển D là một đồ thị biến đổi trạng
thái hữu hạn có trọng số.Giả sử:
o H là tập các âm tiết của tiếng Việt (các tiếng).
o P là tập các từ loại của Tiếng Việt
o Mỗi cung D có thể là:
Từ một phần tử H đến một phần tử của H
Từ phần tử ε (xâu rỗng) đến một phần tử của P.
Mỗi từ trong D sẽ được biểu diễn bởi một chuỗi các cung, bắt đầu bằng một cung tương ứng
với một phần tử của H. Và kết thúc bằng một cung có trọng số tương ứng với một phần tử của
ε x P. Trọng số biểu diễn chi phí ước lượng (estimated cost) được cho bằng công thức:
( )(
)
f: tần số xuất hiện của từ
N: kí h hước tập mẫu
Xây dựng các khả năng phân đoạn từ: bước này thống kê tất cả khả năng phân đoạn của một
câu. Giả sử câu có n tiếng, sẽ có 2n-1 cách phân đoạn khác nhau. Để giảm sự bùng nổ của các
cách phân đoạn, thuật toán sẽ loại bỏ ngay những nhánh phân đoạn của những từ không xuất
hiện trong từ điển.
Lựa chọn khả năng phân đoạn tối ưu: sau khi liệt kê tất cả các khả năng phân đoạn từ, thuật
toán sẽ chọn cách phân đoạn tốt nhất, đó là cách phân đoạn có trọng số bé nhất.
Ví dụ: Input = “ tốc độ truyền thông tin sẽ tăng cao” (theo [9]). Trong từ điển trọng số chúng
ta có trọng số của các từ lần lượt là:
Tốc độ = 8.68
Truyền = 12.31
Truyền thông = 12.31
Thông tin = 7.24
tin = 7.33
sẽ = 6.09
tăng = 7.43
cao = 6.95
Ta sẽ có các cách phân đoạn câu trên như sau:
ID 1 = “ tốc độ # truyền thông # tin # sẽ # tăng # cao “ = 8.68 + 12.31 + 7.33 + 6.09 + 7.43
+6.95 = 48.79
ID 2 = “ tốc độ # truyền # thông tin # sẽ # tăng # cao “ = 8.68 + 12.31 + 7.24 + 6.09 + 7.43 +
6.95 = 48.7
Do ID 2 nhỏ hơn ID 1 nên ID 2 là lựa chọn tốt hơn ID 1.
Ưu điểm của phương pháp này là cho độ chính xác khá cao, ngoài ra mô hình còn cho kết quả
tách từ với độ tin cậy kèm theo (trọng số và xác suất). Tuy nhiên cũng như phương pháp TBL,
để xây dựng tập ngữ liệu có xác suất là vô cùng công phu và tốn chi phí.
14
Lê Vĩnh Phú – Diệp Minh Hoàng
Phân loại tin tức tiếng Việt sử dụng các phương pháp học máy
4.1.4
LOẠI BỎ STOP WORD
Stop word hay còn gọi là từ dừng là những từ xuất hiện nhiều trong tất cả các văn bản thuộc
mọi thể loại trong tập dữ liệu, hay những từ chỉ xuất hiện trong một và một vài văn bản.
Nghĩa là stop word là những từ xuất hiện quá nhiều lần và quá ít lần. Chúng không có ý nghĩa
và không chứa thông tin đáng giá để chúng ta sử dụng. Ví dụ như các từ: thì, là, mà, và, hoặc,
bởi…
Trong việc phân loại văn bản thì sự xuất hiện của những từ đó không những không giúp gì
trong việc đánh giá phân loại mà còn nhiễn và giảm độ chính xác của quá trình phân loại.
Trong luận văn này chúng tôi tiến hành tách stop word dựa trên tần suất xuất hiện của từ, và
kết quả phân loại sau khi loại bỏ stop word hiệu quả hơn nhiều so với không thực hiện. (sẽ
được trình bày cụ thể trong chương 5).
4.2 CHUYỂN ĐỔI TIN TỨC TỪ DẠNG NGÔN NGỮ TỰ NHIÊN SANG MÔ
HÌNH KHÔNG GIAN VÉC-TƠ
Có nhiều cách để chuyển đổi tin tức từ dạng ngôn ngữ tự nhiên (phi cấu trúc) sang dạng ngôn
ngữ máy (ngôn ngữ có cấu trúc). Tuy nhiên, trong đề tài luận văn này chúng tôi chỉ tìm hiểu
và sử dụng phương pháp biểu diễn văn bản theo mô hình không gian véc-tơ (véc-tơ space
model). Đây là cách biểu diễn tương đối đơn giản và hiệu quả.
Theo mô hình này, mỗi tin tức sẽ được biểu diễn thành một véc-tơ. Mỗi thành phần của véc-tơ
là một từ riêng biệt trong tập tin tức gốc và được gán một giá trị là trọng số của từ đó trong tin
tức đó. Do số lượng từ trong tập tin tức là rất nhiều, từ đó khi biểu diễn véc-tơ sẽ dẫn đến một
vấn đề đó là tính nhiều chiều của véc-tơ. Để giải quyết vấn đề này, chúng tôi chỉ đưa ra
phương pháp loại bỏ stop word để giảm bớt các từ không cần thiết, rút ngắn chiều của véc-tơ
và nâng cao hiệu suất phân loại tin tức.
Từ tập tin tức gốc ban đầu đã được phân chủ đề, sau khi tiến hành tách từ và loại bỏ stop word
chúng tôi tiến hành xây dựng tập từ khóa dựa trên các từ riêng biệt còn lại. Giả sử chúng ta có
một tập tin tức gồm m tin tức,
*
+ và ta có tập từ khóa gồm n từ
*
+. Gọi
* + là ma trận trọng số, trong đó
là giá trị trọng số của
từ ti trong văn bản dj. Sau đây chúng tôi sẽ trình bày hai phương pháp xây dựng véc-tơ từ một
tin tức dựa trên tập từ khóa đó.
4.2.1
BINARY VÉC-TƠ
Đây là mô hình biểu diễn véc-tơ với cách tính trọng số của mỗi thành phần véc-tơ cho ra hai
giá trị duy nhất là 0 và 1. Nếu trong tin tức đó xuất hiện từ ti thì giá trị trọng số của từ đó
trong véc-tơ đại diện sẽ là 1 và ngược lại là 0. Ta có thể biểu diễn nó thành công thức như sau:
{
4.2.2
(
)
TF-IDF VÉC-TƠ
Tf – Idf (Term Frequency – Inverse Document Frequeny) là một độ đo, cũng có thể xem như
là một giải thuật để xác định thứ hạng về một tiêu chí nào đó của từ (cụm từ). Giải thuật này
15
Lê Vĩnh Phú – Diệp Minh Hoàng