Loi mé dau Với vốn kiến thức được học tại trường và nhu cầu cung cấp thiết yêu của xã hội cộng thêm gợi ÿý của giảng viên bộ môn Nguyên Tuân Đăng , nhóm em đã chọn dé tai , phân loại bài
Trang 1
KHOA CONG NGHE THONG TIN
Giang vién: PGS.TS Nguyén Tuan Dang MSSV - Ho va tén: 3120410185 — Dao Van Hoat MSSV - Ho va tén: 3120410224 — Pham Thế Hung
Trang 2Nhóm chân thành cảm ơn giảng viên Nguyễn Tuần Đăng, đã hướng dẫn tận tình đóng góp ý kiến chuyên môn của đồ án học Thầy đã động viên , nhóm em có gắng hoàn thành những nghiên cứu đặt ra , thầy cũng cung cấp một số tài liệu liên quan đến đồ án môn học
mà nhóm em đang nghiên cứu và ân cần nhắc nhở bọn em đề tiễn bộ thực hiện đồ án môn học này
Nhóm em x1n chân thành cảm on !
Trang 3Loi mé dau Với vốn kiến thức được học tại trường và nhu cầu cung cấp thiết yêu của xã hội cộng thêm gợi ÿý của giảng viên bộ môn Nguyên Tuân Đăng , nhóm em đã chọn dé tai , phân loại bài báo tiếng Việt theo chủ đề với mong muôn giúp cho việc xây dựng lựa chọn phân
loại các loại văn bán được dễ dàng và thuận tiện hơn
trong quá trình đóng góp những ý kiến quý báu là sự quan tâm hướng dẫn của thầy Nguyễn Tuan Đăng „nhóm em đã từng bước nghiên cứu và vận dụng được các kiến thức
đã được học đề tìm hiểu phân tích tuy nhiên do sự hiểu biết của chúng em về lĩnh vực này còn hạn chế đề tài còn nhiều thiểu sót nên chưa được hoàn thiện vì vậy chúng em rat
mong được sự đóng góp nhiệt tình của thầy đề dé tài của nhóm được hoàn thiện hơn nhóm em x1n chân thành cảm on !
Trang 4Danh sach hinh anh Hinh 1 Céng thitc Naive Bayes
Hinh 2 Céng thiec mo réng Naive Bayes
Hinh 3 Gaussian Naive Bayes
Hinh 4 Term Frequency
Hinh 5 Inverse Document Frequency
Hinh 6 Term Frequency-Inverse Document Frequency Hình 7 chủ đề trong bài báo
Hình § import thư viện
Hình 9 Xứ lý nội dung của bài báo
Hình 10 lưu tập dữ liệu train vào file.pki
Hình lI lưu tập dữ liệu test vào file.pkl
Hình 12 load dữ liệu đã được lưu ở file.pkl
Hình 13 KẾI quả vector hoá
Trang 5Danh sach tir viét tat
TF Term Frequency
Frequency
TPHCM Thành phố Hồ Chí Minh
HĐND Hội đông nhân dân
MTTQ Mặt trận tô quôc
Trang 6
Danh sach bang
Bang 1: Minh hoa néi dung cua 10 chu đề trước và sau khi thực hiện xử lý
Mục lục
Trang 70.0 an 8 Vy.) 0/0 /)/) 0 aiọùDùẰẶỒỒ 8
3 Lịch sử vấn đề - St E1 HH HH H11 1 n1 1 ng 8
4 Các công trình có liên quan L0 0 1221122211211 121 11511152151 111111511211 11 111111 xky 9 Chương L : Môi trường được sử dụng L2 12221222222 2212 HH re 9
1 Google colab - 5 0 022211212211 112111 112111502111 01111 0111111111111 KH g1 kg vu 9 1.1 Giới thiệu Google colab 0 2221212111 111 1211121121111 118122011 2111151 ky 9 1.2 Công dụng của Google colab L0 2212211121111 5 n2 1202112 82tr ry 9 Chương II : cơ sở lý thuyẾt 5 SE E1 E1 1H11 121 11 1 n1 tr 10
1 Chuẩn bị dữ liệu - - 5 SE 121111 11 11211122111 1 Hee 13
2 Tiền xử lý dữ liệu - 5 12T E1 HH HH1 H1 n1 HH Hàng Hường 14
3 May durmg 5 ađaàaiaaẦ 19
4 Kết quả - c2 1 1n 1 nh 1n 2n tre 20 KÉT LUẬN VA HƯỚNG PHÁT TRIỂN - 5c St HE HH ute 22 TÀI LIỆU THAM KHÁO S1 1S EEE12215121111 11 111111 12121 1g re 23
Trang 81 Mục tiêu
Mục tiêu của đề tài là xây dựng mơt hệ thống cĩ khả năng tự động phân loại các bài báo
bằng tiếng Việt vào các chủ đề khác nhau dựa trên nội dung của chúng Cụ thé, là sử dụng thuật tốn NaIve bayes để tính tốn xác suất một văn bản thuộc về một nhãn nào đĩ dựa trên các đặc trưng cĩ trong văn bản đĩ
2 Phạm vỉ nghiên cứu
- Phân loại văn bản đa lớp: Đề tài tập trung vào việc phân loại văn bản tiếng Việt vào
nhiều nhãn khác nhau Trong đề tài này là phân loại văn bản thành các chủ đề như ( thê
thao, chính trị xã hội, )
- Xử lý dữ liệu văn bản tiếng Việt: Bởi vì trong tiếng Việt cĩ các đặc trưng riêng, như các dâu thanh, từ đơn, từ ghép Nên trong đề tài này cũng nghiên cứu việc xử lý dữ liệu văn
bản bằng tiếng Việt đề làm cho thuật tốn Naive Bayes hoạt động tốt hơn
- Kết hợp với phương pháp khác: Để cái thiện hiệu suất phân loại, dé tài sử dụng thêm phương pháp trích suât đặc trưng nâng cao là TF-IDF kêt hợp với thuật tốn Nạve Bayes
3 Lịch sử vẫn đề
- Đầu thập kỷ 2000: Trong giai đoạn đầu của phát triển phân loại văn bản tiếng Việt, các nghiên cứu chủ yếu tập trung vào việc xây dựng các bộ từ điển và sử dụng các phương pháp truyền thống như kỹ thuật Bag-of-Words (túi từ) và thuật tốn Bayes đơn giản để phân loại văn bản Tuy nhiên, trong giai đoạn này, việc xử lý ngơn ngữ tự nhiên tiếng Việt vẫn cịn gặp nhiều khĩ khăn do đặc thù của ngơn ngữ
- Giữa thập kỷ 2000: Các nghiên cứu đã chuyên sang sử dụng các phương pháp học máy
và thuật tốn phân loại tiên tiễn hơn Trong số các thuật tốn được sử dụng, thuật tốn
Naive Bayes trở nên phơ biến bởi tính đơn giản và khả năng xử lý hiệu quả trong việc phân loại văn bản Nghiên cứu đã tìm cách cải thiện hiệu suất của thuật tốn Naive Bayes bằng cách kết hợp với các phương pháp trích xuất đặc trưng, như TF-IDF, và áp dụng các
kỹ thuật tiền xử lý dữ liệu văn bản tiếng Việt
- Cuối thập kỷ 2000 và đầu thập kỷ 2010: Với sự phát triển của lĩnh vực xử lý ngơn ngữ
tự nhiên và học máy, các nhà nghiên cứu đã sử dụng các mơ hình học máy phức tạp hơn nhu Support Vector Machines (SVM), Decision Trees, Random Forests, va mang neural
dé phan loại văn bản tiếng Việt Mặc dù các mơ hình này cĩ hiệu suất tốt hơn, nhưng
thuat toan Naive Bayes van được sử dụng rộng rãi do tính đơn giản và khả năng làm việc
tốt trong các ứng dụng phân loại văn bản cơ bán
- Hiện tại: Hiện nay, đề tài phân loại văn bản tiếng Việt bằng thuật tốn Naive Bayes vẫn được nghiên cứu và ứng dụng trong nhiều lĩnh vực Các nghiên cứu tập trung vào việc phát triên các phương pháp tiền xử lý đữ liệu, trích xuất đặc trưng và kết hợp với các mơ
hình học máy khác để cải thiện hiệu suất phân loại văn bản tiếng Việt Ngồi ra, các
Trang 9nghiên cứu cũng đưa ra các ứng dụng cụ thê trong việc phân loại văn bản, như phân loại
tin tức, phân loại ý kiến khách hàng và phân loại sản phẩm
4 Các công trình có liên quan
Dưới đây là một vài công trình có liên quan đến đề tài
- "A comparison of Naive Bayes and support vector machines for sentiment analysis of Vietnamese texts" (2014) cua Truong Quoc Dung và các đồng nghiệp: Nghiên cứu này so sánh hiệu suất của thuật toán Naive Bayes và Support Vector Machines (SVM) trong phân loại ý kiến tiếng Việt Kết quả cho thấy thuật toán Naive Bayes có hiệu suất tương đương hoặc cao hon so voi SVM
- "Vietnamese text classification using feature selection and Naive Bayes” (2016) cua Truong Cong Thang và các đồng nghiệp: Nghiên cứu này tìm cách cải thiện hiệu suất của thuật toán Naive Bayes bằng cách sử dụng kỹ thuật lựa chọn đặc trưng và tiền xử lý dữ liệu Kết quả thê hiện rằng việc áp dụng các phương pháp này giúp cải thiện hiệu suất phân loại văn bản tiếng Việt
Chương L : Môi trường được sử dụng
1 Google colab
1.1 Giới thiệu Google colab
Colaboratory hay còn gọi là Google Colab, là một sản phẩm từ Google Research, nó cho phép thực thi Python trên nền tảng đám mây, đặc biệt phù hợp voi Data analysis, machine learning và giáo dục
1.2 Công dụng của Google colab
Google Colab là một nền tảng trực tuyến miễn phí cho việc chạy và phân tích mã Python Đây là một công cụ rất hữu ích cho các nhà phát triển và nhà nghiên cứu trong lĩnh vực
khoa học dữ liệu, học máy và AI
Sử dụng Google Colab có những lợi ích ưu việt như: sẵn sàng chạy Python ở bất kỳ thiết
bị nào có kết nối Internet mà không cần cài đặt, chia sẻ và làm việc nhóm dễ đàng, sử
dụng miễn phí GPU cho các dự án về AI
- Các thư viện được cài đặt sẵn
Phân phối Anaconda của Jupyter Notebook có một số dữ liệu được cài đặt sẵn như Numpy, Pandas, Matplotlib Ngoài ra, Colab cũng cung cấp nhiều thư viện machine
learning duoc cai dat san nhu Keras, Pytorch, Tensorflow
- Dược lưu trên đám mây
Trang 10trường làm việc Nếu bạn để cao quyền riêng tư thì đây chắc chắn là một tính năng ưa
thích của bạn
Chương II : cơ sở lý thuyết
A Naive Bayes
1 Giới thiệu Naive Bayes
Naive Bayes Classification - Thuat toan phan loai Naive Bayes - là một thuật toán dựa
trên dinh ly Bayes ly thuyết xác suat dé dua cac cac phan doan cting nhu phan loai dit liệu dựa trên các dữ liệu được quan sát và thông kê , được ứng dụng rât nhiêu trong các lĩnh vực machine learning dùng để đưa các dự án có độ chính xác cao, dựa trên một tập
đữ liệu đã được thu thập Naive Bayes Classfication thuộc vào nhóm học máy có giám sát
Hình ] Công thức Nahe Bayes
Theo định lí bayes P(A|B) sẽ phụ thuộc vào 2 yếu tố :
-xác suất xảy ra của A riêng nó , không quan tâm đến B, kí hiệu là P(A)
-xác suất xảy ra B của riêng nó , không quan tâm đến A„ kí hiệu P()
-Xác suất xảy ra B khi biết A xảy ra Kí hiệu là P(BỊA) Đại lượng này gọi là khả năng xảy ra B khi biết A đã xảy ra
P(B,¢}* P| B, 2\*P(B,¢| *P|B,)* P(A) P|B,\*P|B,}*P(B, *P|B,}
P(AVB)
Hình 2 Công thức mở rộng Nahe Bayes
Trang 113 Một số kiéu mé hinh Naive Bayes
3.1 Multionmial Naive Bayes
M6 hinh nay chu yếu được sử dụng trong các loại văn bản đặc trưng ở đầu vào ở đây
chính là tân suât hiện của từ trong văn bản do
3.2 Bernoulli Naive Bayes
Mô hình này được sử dụng khi các đặc trưng đầu vào chỉ nhận giá trị nhị phân 0 hoặc L 3.3 Gaussian Naive Bayes
khi các đặc trưng nhận giá trị liên tục ta sử dụng các đặc trưng có phân phối gaussian Khi do , likelihood sẽ có dạng
Pialyl= poo 9m 20,
Hinh 3 Gaussian Naive Bayes 4.Ứng dụng của thuật toán Naive Bayes
Thuat toan Naive Bayes Classification duoc ap dung vao cac loai ứng dụng sau
- Real time Predicion : NBC chay kha nhanh nén no thich hop ap dụng ứng dụng nhiều vào các ứng dụng thời gian thực , hệ thống cảnh báo phát hiện sự cố
- Multi class Prediction : nhờ vào địa lý Bayes mở rộng ta có thê ứng dụng vào các loại ứng dụng đa dự đoán tức là ứng dụng có thê dự đoán nhiêu giả thuyết mục tiêu
- Text classiication / Spam Filtering / Sentiment Analysis : NBC cũng rất thích hợp cho các hệ thống phân loại văn bản hay ngôn ngữ tự nhiên vì tính chính xác của nó lớn hơn các thuật toán khác Rồi ngoài ra các hệ thống chống thư rác cũng rất ưu chuộng thuật toán này Vì các hệ thống phân tích tâm lý thị trường cũng áp dụng NBC để tiến hành phân tích tâm lý của người dùng ưa chuộng hay không nên chọn các loại sản phâm nào
từ việc phân tích các thói quen và hành động của khách hàng
- Recommendation System: Naive Bayes Classiñer được sử dụng rất nhiều để xây dựng
hệ thống gợi ý
5 Kết luận
Naive Bayes là đơn vị phân tích mô hình dê cài đặt có tốc độ xử lý nhanh tuy nhiên
nhược điểm lớn là yêu cầu đặc trưng phải độc lập mà điều này khó xảy ra trong thực tế
Trang 12làm giảm chất lượng của mô hình tập quán thường được sử dụng trong sắc thái phân tích
ngọc thư hệ thông dé xuat
B Trích chọn đặc trưng TE-IDE
TF-IDF là viết tat cua Term Frequency-Inverse Document Frequency, la một phương pháp được sử dụng trong xử lý ngôn ngữ tự nhiên và truy vấn thông tin để đánh giá mức
độ quan trọng của một từ trong một tài liệu hoặc trong một bộ sưu tập các tài liệu
TF-IDF xác định trọng số của một từ trong văn bản thu được qua thống kê thê hiện mức
độ quan trọng của từ này trong một văn bản, mà bản thân văn bản đang xét nằm trong
một tập hợp các van ban Gia tri TF-IDF cao thê hiện độ quan trọng cao và nó phụ thuộc
vào số lần từ xuất hiện trong văn bản nhưng bù lại bởi tần suất của từ đó trong tập dữ liệu Một vài biến thể của TF-IDF thường được sử dụng trong các hệ thống tìm kiếm như một công cụ chính đề đánh giá và sắp xếp văn bản dựa vào truy vẫn của người dùng TF- IDF cũng được sử dụng để lọc những từ stopwords trong các bài toán như tóm tắt văn bản và phân lớp văn bản
TF (Term Frequency) — Tan suat xuat hién cua tir la số lần từ xuất hiện trong văn bản Vì
các văn bản có thể có độ dai ngắn khác nhau nên một số từ có thê xuất hiện nhiều lần
trong một văn bản dài hơn là một văn bản ngắn Như vậy, TF thường được chia cho độ dài văn bản (tông số từ trong một văn bản)
¬
TF(t,d)= max| f |w,d): wed}
Hinh 4 Term Frequency Trong do:
e _ TF(t, d) - Tần suất xuất hiện của từ t trong văn bản d
e - ft,d) - Số lần xuất hiện của từ trong văn bản d
® maxfffw,d): w d} — Số lần xuất hiện của từ có số lần xuất hiện nhiều nhất trong văn bản d
IDF (Inverse Document Frequency) — Nghịch đảo tần suất của văn bản, giúp đánh giá tầm quan trọng của một từ Khi tính tần số xuất hiện TF thì các từ đều được coi là quan
trọng như nhau Tuy nhiên có một số từ thường được được sử dụng nhiều nhưng không
quan trọng đề thê hiện ý nghĩa của đoạn văn Vì vậy ta cần giảm đi mức độ quan trọng của những từ đó bằng cách sử dụng IDF:
IDF(t,d)= ng¿Bv ¿lđeDriedlvi s Hinh 5 Inverse Document Frequency
Trang 13Trong do:
IDF(t, D) - Giá trị IDF cua tv t trong tập văn ban D
|D| - Téng s6 van ban trong tap D
l{deD:te d}|—Thé hién số văn bán trong tập D có chứa từ t
Cơ số logarit trong công thức này không làm thay đổi giá trị IDF của từ mà chỉ thu hẹp khoảng giá trị của từ đó Việc sử dụng logarit nhằm giúp giá trị TF-IDF của một từ nhỏ
hon, do công thức tính TF-IDF của một từ trong một văn ban la tich cha TF va IDF cua tr
đó Công thức tính TE_ IDEF được xác định như sau:
TF — IDF (T,d,D ) = TF(t,d)x IDF ( t,D)
Hinh 6 Term Frequency-Inverse Document Frequency
Từ công thức trên cho thấy những từ có giá trị TF-IDF cao là những từ xuất hiện nhiều trong văn bản này, và xuât hiện ít trong các văn bản khác Việc này giúp lọc ra những từ
phô biên và giữ lại những từ có giá trị cao chính là các từ khóa của văn bản đó
Chương III :Xây dựng mồ hình
1 Chuẩn bị dữ liệu
Vi la một bài toán phân loại văn bản băng tiêng Việt, nên dữ liệu em dùng là các bài báo
tiếng Việt kèm theo chủ đề của các bài báo đó
Bộ dữ liệu mà em sử dụng trong bài này được tải tại: ht(ps://ø1thub.com/duyvuleo/VNTC
Thực hiện loại bỏ tat cả những dữ liệu không cân thiết chỉ giữ lại nội dung và chủ đề của