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

Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng ứng dụng phân loại tin tức Covid-19 trên mạng xã hội Twitter

84 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng ứng dụng phân loại tin tức Covid-19 trên mạng xã hội Twitter
Tác giả Nguyen Ba Minh Hoang, Nguyen Gia Huy
Người hướng dẫn TS. Nguyen Luu Thuy Ngan, THS. Nguyen Thi Kim Phung
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Hệ thống Thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2020
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 84
Dung lượng 34,13 MB

Nội dung

Tóm tắt khóa luậnHiện nay dai dịch covid-19 hiện đang là một trong những đại dịch nguy hiểm va gây thiệt hại nặng nề nhất trong cộng đồng trên toàn thế giới, chính vì vậy để phục vụ việc

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THÓNG THÔNG TIN

NGUYEN BA MINH HOANG

NGUYEN GIA HUY

AN APPLICATION OF COVID-19 NEWS CLASSIFICATION ON

THE TWITTER SOCIAL NETWORK

KY SU NGANH HE THONG THONG TIN

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THÓNG THÔNG TIN

NGUYEN BA MINH HOÀNG - 16520435

NGUYEN GIA HUY - 16520517

KHOA LUAN TOT NGHIEP

XAY DUNG UNG DUNG PHAN LOAI TIN TUC

COVID-19 TREN MANG XA HOI TWITTER

AN APPLICATION OF COVID-19 NEWS CLASSIFICATION ON

THE TWITTER SOCIAL NETWORK

KY SU NGANH HE THONG THONG TIN

GIANG VIEN HUONG DAN

TS NGUYEN LUU THUY NGAN THS NGUYEN THI KIM PHUNG

Trang 3

DANH SÁCH HỘI ĐÒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số

"¬————— ngày của Hiệu trưởng Trường Dai học Công nghệ

Thông tin.

Loe cece cece eect ne ene ee ene ene ene ene eaes — Chủ tịch.

2“ ene eaeeneeaeneeneeneenenaes — Thu ky.

Boece e cence ence eee eee ee — Uy viên.

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, nhóm tác giả xin gửi lời cảm ơn chân thành đến quý Thầy Cô trường Đại học Công nghệ thông tin, đặc biệt là quý Thầy Cô Khoa Hệ thống thông tin - những người đã dùng tri thức và tâm huyết của mình dé truyền đạt cho chúng em vốn kiến thức vô cùng quý báu trong khoảng thời gian học tập tại trường Những kiến

thức mà Thay Cô truyền đạt là bước đệm quan trọng giúp chúng em có thé hoàn thành

đề tài tốt hơn Đặc biệt, nhóm tác giả xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc đến TS Nguyễn Luu Thuy Ngân, ThS Nguyễn Thị Kim Phung; cảm ơn hai

Cô đã tận tình hướng dẫn và tạo điều kiện tốt nhất cho nhóm hoàn thành đề tài này Những lời động viên, góp ý chân tình của hai Cô là động lực quý báu dé nhóm tiếp thu được nhiều kiến thức bổ ích cũng như vượt qua những khó khăn khi tìm hiểu và

thực hiện khóa luận.

Trong thời gian thực hiện đề tài, nhóm tác giả đã cô găng vận dụng những kiến thức nên tang đã học, kết hợp học hỏi và tìm hiểu công nghệ mới dé ứng dụng xây dựng

đề tài khóa luận tốt nghiệp Tuy nhiên trong quá trình thực hiện, do kiến thức và kinh nghiệm còn nhiều hạn chế, nên khó tránh khỏi những thiếu sót Chính vì vậy, nhóm

tác giả rất mong nhận được sự góp ý từ quý Thay Cô Khoa Hệ thống thông tin dé

nhóm hoàn thiện những kiến thức đã tích luỹ trong quá trình học tập tại trường, làm hành trang quý báu đề nhóm thực hiện các dự án thực tế trong tương lai.

Xin chân thành cảm ơn quý Thầy Cô!

Nhóm tác giả

Trang 5

MỤC LỤC

Danh sach Bink sa

Danh mục bang - - - 5 + 1119301119101 93019 10190 TH HT ng t

Danh mục từ viét tẮ( G- St St E131 1111111111111 111111 1111111111111 111111111 cE

Danh sach Wink 0 4

Damh Mmuc bang T0 6

Danh mục từ viét tat ceccecccccccssccscscssessesscssssecsessessesessessrssssecsessesessucsesansessucstsavsussesatsasseeaeees 7Tóm tắt khóa luận . -+++2©+++2EE +21 TT Errrirreriee |Chương 1: Tổng Quan 2-5252 SE9SESE£EE£EEEEEEEE12112212112117171717171711212 11111 cre 2

1.1 Đặt vấn đề ch HH HH HH HH HH Hiệu 2

L.A PHAM Vi eee ốẼẽ ứđ “` ` — 3

1.5 Bố cục báo cáo - sex x91 1E kE E1 E1111111 111111111 1111111111111 111111111 cvet 4

1.6 Công cụ SỬ dỤng - - - c + Sà 1v TH“ HH HH HH ki 4

Chương 2: Cơ sở lý thUYẾT 2-52: E9SE99E2E2E2E12E1E21211E71717171121121121121111 1111 re 5

2.1 Giới thiệu ngôn ngữ PythOh tk HH TH HT HT TT nghệ 5

2.2 Một số van dé trong xử lý ngôn ngữ tự nhiên 2-2 5+5 E£EzEczzzzzecrez 5

2.2.1 MG hinh tii tt 11

2.2.2 Không lan V€CfOT - - c3 S1 SH TH HH He 12

2.3 Một số thuật toán YOM CỤIH1 - 5c S199 vn ng 13

2.3.1 Gì 13 2.3.2 Agglomerative CÏUSf€TITE - - <6 3119 111v HH kt 15

"040 17

"940917 22

Trang 6

2.3.7 GAUSSIAN MIXCULES 20.0 S 22 2.3.8 Mini Batch 0n 23

Chương 3: Phương pháp thực hiỆn - - G6 5 S1 21199119119 119111 1 1 ng ng rệt 29

3.1 M6 ta Dai COM 0 4 29

3.2 Tiền xử lý dit iG ecccccccsessessecssssesessessessessessssessessessussssssssssssessessesseesesseeseesess 29

3.2.1 Thu thập dữ liệu - ¿S12 212121121151 151 1111111112 11111111 T1 HH HH 29

3.2.2 Lam sạch dữ OU - - + 22 E131 322111111EE2531 111199231 111119511111 vết 32

3.2.3 Vector hoá dit liệu với chỉ số T-IIDE - 2k + +EE+E£EE+EeErkererxsrers 35

3.3 Các bước thực hiện gom cụm dữ lIỆU 5< +5 +32 +*++EEseseerseseereexse 36

3.3.1 Lựa chọn thuật toán øom CỤI - 5 <6 + E* +2 E**EE+EEEEEsEESrkksrkkrrskrerkee 36

3.3.2 Xây dựng mô hình gom cụm dựa trên dữ liệu đã thực hiện tiền xử lý 38

3.3.3 Đánh giá mô hình gom cụm bằng Silhouette, Calinski-Harabasz và

Davies-Bouldin Metrics - 5 56 E111 E91 911 44

3.4 Xây dựng ứng dung phân loại một tin tức có hashtag - ‹ s«+-++s+++ 44

Chương 4: Cài đặt và triển khai hệ thống - 2 2 2 2 ++EE+EE+EE+EEeEEeEEerEerrerreee 45

4.1 Các bước triỀn khai : s+ t2 tt nghe 45

'SNN ca 45

4.1.2 COng CU SU UNG eee 45 AV.3 XW án .Ỏ 46 4.1.4 Vector hóa dữ liệu sử dung thuật toán 'TTF-IIDDE +55 +< << £+c£+seesee 50

4.1.5 Tìm số k tối ưu cho các thuật toán 00001117 51

Trang 7

4.3 Xây dung ứng dụng phân loại bài viết dựa vào hashtag - ¿52 2552 66

Churong 5 Két an 88 72

5.1 Két UA Cat QUOC 0 72

5.2 Định hướng phát triỀn đề tài ¿- 2© 2SE+ESEE£EEEEEEEEEEEEEEEEEEEEEEEEErkrrrrerkee 72

Tài liệu tham khảO - óc c6 132221111323 113191 11191111 1111181111101 11 011118 11g 1n yn 73

Trang 8

Danh sách hình

Hình 2.1 Khử nhiễu dữ liệu -. - 5-22 giàu 6Hình 2.2 Chuẩn hoá từ - -22222+++22E221xtE.22 11t 1 8

Hình 2.3 Mô hình không gian V€CfOT - 6 5E 2133111211 E<51 1< 11 911191 9v ng rệt 13

Hình 2.4 Sơ đồ luồng xử lý thuật toán K-Means -2-©22 ++2zz+cxccxevrxrrrserxee 14Hình 2.5 Sơ đồ luồng xử lý thuật toán Agglomerative Clustering ‹ - 16

Hình 2.6 Mô tả quá trình xử lý của thuật toán BIRCH -5<++s<+s<++ex+ss2 18

Hình 2.7 Mô tả quá trình xử lý của thuật toán DBSCAN - nhi 20

Hình 3.1 Trang web cung cấp dữ liệu -2- 2-5 S£+E£2E£+E£+EE£EEtEEEEEEEEerkrrkerkerreee 30

Hình 3.2 Bảng kết quả phân cụm K-Means - + 252 £+S££EE£E+EEeEEezEerErrerreee 39Hình 3.3 Kết quả phân cụm của thuật toán K-Mean trên đồ thị phân tán 39Hình 3.4 Đầu vào ví dụ thuật toán BIRCH -cc¿¿+£EEvkerrrtrrrkkrrrrrrrrriee 40Hình 3.5 Kết quả phân cụm của thuật toán BIRCH 2-2 52s +2£s+zx+zxz2sz+2 41Hình 3.6 Đầu vào ví dụ thuật toán Agglomerative Clustering -. -‹ 42Hình 3.7 Kết quả của Vi dỤ ¿252 ++2292E+EE£EE£EEEEE21121121121122121 111111111 42Hình 3.8 Kết quả chạy thực nghiệm - 2-2-2 2£ +E£+E££E£+EE+EE£EE+EEEEEEEEeEErrkerrerreee 43Hình 4.1 Dữ liệu hashtag sau khi đã được tách ra từ dữ liệu ban đầu cccce: 46Hình 4.2 Dữ liệu thô ban đầu . ¿ 2+++++2E + reo 47

Hình 4.3 Hashtag sau khi đã được tách riêng - 5 Sc + Essssirrereseeerrsee 47

Hình 4.4 Dữ liệu trước khi loại các dòng lỗi font chữ 2-5 25s+c+cs+x+cszxeẻ 48

Hình 4.5 Dữ liệu khi đã thực hiện loại bỏ các dòng lỗi font chữ - 5+: 48

Hình 4.6 Kết quả sau khi tách hashtag thành các từ có nghĩa -¿¿5¿ 49

Hình 4.7 Cài đặt vector hoá văn ban với Skearn_TFIDF_Vectorizer - 50

Hình 4.8 Kết quả Elbow Method ccccsssesssssesssessesssessesssecssessecsusssecsusssecsusssessusesecsseeses 51

Hình 4.9 K-Means - Cụm Ú -.- s1 ng nu HT nh Hết 52

Trang 9

Hinh 08 C (810i (::ÔEỌÐÔ 53 Hinh 4.12 K-Meanss 010) 53 Hình 4.13 K-Means - Cum 4 - 1 1111611111111 1111111 00111111180 111kg vn ưyy 53 Hình 4.14 K-Means - Cụm Š c1 10126110111 1111931 1111110 111111100 111kg vế 54 Hình 4.15 Agglomerative Clustering — Cụm 0 0 ecceeeceesceesceceneesceseeeeeaeeescessaeeeaeeeaee 55 Hình 4.16 Agglomerative Clustering — Cum Ï, +-++++xk++skkssesseeesereers 56 Hình 4.17 Agglomerative Clustering — Cụm 2 - + s+++x*++*skiseikrrkrerkre 57 Hình 4.18 Agglomerative Clustering — Cụm Ô3 - +s + *+x+svEsskseksseesersree 57 Hình 4.19 Agglomerative Clustering — Cum 4( -. «+5 + ++s xxx nghi, 58 Hình 4.20 Agglomerative Clustering — CUM 5 - «ss xxx riec 59 Hình 4.21 BIRCH — Cụm Ú - ¿5 25 t1 21 21151111 111111111111 121111 g1 HH Hàn Hit 60 Hinh 4.22 BIRCH — Cum 1017 ˆ 61 Hình 4.23 BIRCH — Cụm 2 - 5c 2c 2121321151151 111 8511151111111 1111 T1 HH net 62 Hình 4.24 BIRCH — Cụm 3 - - (c2 2c 20 21121151851 11111 1111111111111 T1 HH Hit 63 Hinh 4.25 BIRCH — Cum 1 ỤO 63 Hình 4.26 BIRCH — Cụm 5 - G24 25 211v TH Hàn Hàng ngàng 64 Hình 4.27 Giao diện chính của Ung dụng - - 56 + SE +EseEsseseesseesrssee 66 Hình 4.28 Giao diện chon file dữ liệu trên file expÏOTeT 5+5 +++s++sex+sss+ 67

Hình 4.29 Giao diện chính sau khi đã chọn file - 52555 + +22 c++zzeeeeeeezz 68

Hình 4.30 Kết quả ứng dụng — Cụm I -¿-2¿++2++2+++EE+t2Extzrxerxrsrxeerseees 69

Hình 4.31 Kết qua ứng dụng — Cụm 2 -2- ¿5£ ++£+E£+E£+E£+EE£EE£EEEEEEEEerkerkrrkerreee 69Hình 4.32 Kết quả ứng dụng — Cụm 3 -¿- 2-5 +S£+E2E£+E+EE£EE£EEEEEEEEtrkrrkrrkrrreee 70

Hình 4.33 Kết quả ứng dụng — Cụm 4 +- ¿+ +E£+E£E££E+EE£EE+EEeEEEEEerEerkerkerreee 70Hình 4.34 Kết quả ứng dụng — Cụm 5 -:- 2-22 £+E£+E£+EE£EE+EEEEEeEEerEerkerkerreee 71

Trang 10

Danh mục bảng

Bảng 3.1 Mô tả chỉ tiết dit liệu - 2-©52SS£SE2£EE£EEEEEEEEEEEEEEEEEEEEEEEE2121 2121 31

Bảng 3.2 Chuyển từ mảng các hashtag thành các hashtag đơn lẻ - 32

Bang 3.3: Loại bỏ các hashtag có chứa dấu câu va dit liệu kiểu số - 32

Bảng 3.4: Loại bỏ các dòng hashtag lỗi font ¿5-55 522S2x+2+2E2Eezxerxzxrzxerxee 33

Bảng 3.5: Tach hashtag thành những từ có ngha - s5 + + +skseessersrresee 33

Bảng 3.6: Loại bỏ Stopwords và chuyền kí tự hoa thành thường - 34

Bảng 3.7: Ví dụ K-Means - .- <1 1H TH TH 38

Bang 4.1: Kết quả đánh giá thuật toán dựa trên ba độ đo - 5c 5c2s25z25z+: 65

Trang 11

Danh mục từ viết tắt

Từ viết tắt Nội dung

AHC Agglomerative Hierarchical Clustering

BIRCH Balanced Iterative Reducing and Clustering using Hierarchies

DBSCAN | Density-based spatial clustering of applications with noise

OPTICS Ordering points to identify the clustering structure

BCSM Between cluster scatter matrix

WCSM Within cluster scatter matrix

TF-IDF Term Frequency — Inverse Document Frequency

TF Term frequency

IDF Inverse document frequency

CF Clustering feature

LS The linear sum

SS The square sum of data points

Trang 12

Tóm tắt khóa luận

Hiện nay dai dịch covid-19 hiện đang là một trong những đại dịch nguy hiểm va gây

thiệt hại nặng nề nhất trong cộng đồng trên toàn thế giới, chính vì vậy để phục vụ việcnắm bắt được tình hình, các mối quan tâm và lo ngại của người dân, cho các cơ quannghiên cứu và các tổ chức có thẩm quyền, nhóm đã quyết định thực hiện dé tài khóa luận

“Xây dựng ứng dụng phân loại tin tức covid-19 trên mang xã hội twitter” nhằm mục dichgom nhóm và phân tích các tin tức từ các bài đăng của người dùng mạng xã hội nhằm

mục đích đưa ra các giải pháp kip thời hoặc khoanh vùng các vùng dịch cho các cơ quan

và tổ chức nhằm ứng phó kịp thời trong tình hình dịch bệch covid-19 đang diễn ra ngày

càng nhiêu trên phạm vi toàn câu.

Đề tài tập trung vào việc phân tích, so sánh và lựa chọn trong các thuật toán gom cụmcho ra kết quả tối ưu nhất cho bộ đữ liệu chứ các từ hashtags từ mạng xã hội twitter xungquanh chủ dé covid- I9

Trang 13

Chương 1: Tong Quan

nguôn tin hoặc/hay từ nơi xảy ra các sự kiện có trong tin.

Twitter sở hữu cơ chế cho phép người dùng đánh dấu và phân loại bài viết của bản thânthông qua các hashtag - một đoạn văn bản có ý nghĩa được đánh dấu bang kí tự “#” Khimột người dùng đánh dấu bài viết của mình bằng hashtag, bài viết đó sẽ được gom nhóm

chung với các bài viết khác có chứa hashtag tương tự Số lượng hashtag trong một bài

đăng là không bị giới hạn và có thể đặt ở bất kì đâu trên bài viết Và những từ có mặttrong số lượng lớn hashtag, thường sẽ là một chủ đề xu hướng tại một thời điểm nhất

cụ tốt nhất cung cấp dữ liệu cho các ứng dụng trên chính là dữ liệu từ các mạng xã hội

mà tiêu biêu là Twitter.

Trang 14

1.2 Khảo sát

e Dựa trên nhu cầu quan sát dữ liệu về Covid-19 thực tế

e Dựa trên các bài báo khoa học liên quan.

e Dựa trên các hệ thống sẵn có

1.3 Mục tiêu luận văn

Đáp ứng nhu cầu phân loại các bài viết trên nền tảng mạng xã hội Twitter hỗ trợ các tổ

chức, cơ quan có thê xác định được nhanh chóng các vùng dịch, theo dõi các phản ứng của người dân đối với dịch v.v Đề tài sử dụng dữ liệu hashtag của các bài đăng liên

quan dịch bệnh Covid-19 trên mạng xã hội Twitter dé huấn luyện và kiến tạo các cụm

phục vụ phân loại bài viết, giúp chính phủ và các tô chức y tế quan ly dit liệu Covid-19

và kiểm soát tốt các vùng dịch

1.4 Phạm vi

Do thời gian thực hiện dé tài có giới hạn, cũng như kiên thức của nhóm còn hạn chê, nên

trong phạm vi khóa luận, nhóm thực hiện chi sử dụng một sô nét co bản của công nghệ như sau:

Ngôn ngữ lập trình: Python (3.8)

Thư viện: Pandas, scikit-learn

Package: wordninja

Trang 15

1.5 Bô cục báo cáo

Chương 1: Giới thiệu tổng quan về đề tài Nội dung chương một bao gồm: Đặt van dé

và lý do chọn đề tài, và đưa ra nhận xét, đánh giá, mục tiêu và phạm vi nghiên cứu, công

cụ xây dựng hệ thông và bô cục của báo cáo.

Chương 2: Cơ sở lý thuyết, trong đó trình bày lý thuyết và phân tích các thuật toán sẽ sửdụng trong đề tài

Chương 3: Trình bày phương pháp và các bước thực hiện xử lí thực hiện của đề tài

Chương 4: Thực nghiệm và đánh giá các phương pháp, chọn mô hình gom cụm tối ưu

nhất cho dữ liệu dé sử dụng cho ứng dụng về sau.

Chương 5: Tóm tắt lại những kết quả mà nhóm đã đạt được khi thực hiện đề tài, những điểm mới của để tài và định hướng phát triển cho đề tài.

1.6 Công cụ sử dụng

Trong quá trình thực hiện đề tài, nhóm đã sử dụng ngôn ngữ lập trình Python ở môi

trường phiên bản Python 3.8.

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

e© Scikit-learn

e Pandas

e Wordninja

Trang 16

Chương 2: Cơ sở lý thuyết

2.1 Giới thiệu ngôn ngữ Python

Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi Guidovan Rossum Nó dé dàng dé tìm hiểu và đang nỗi lên như một trong những ngôn ngữ lậptrình nhập môn tốt nhất cho người lần đầu tiếp xúc với ngôn ngữ lập trình Python hoàn

toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động Python có cấu trúc dữ

liệu cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướngđối tượng Cú pháp lệnh của Python là điểm cộng vô cùng lớn vì sự rõ ràng, dé hiểu vàcách gõ linh động làm cho nó nhanh chóng trở thành một ngôn ngữ lý tưởng dé viếtscript và phát trién ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng

Nhiều thư viện Khoa học dữ liệu / Phân tích dữ liệu như Pandas, StatsModels, NumPy,

SciPy và Scikit-Learn, là một số thư viện nồi tiếng có sẵn cho những người tham giatrong cộng đồng Khoa học dữ liệu

2.2 Một số van đề trong 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 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ệcphải hiểu ý nghĩa ngôn ngữ-công cụ hoàn hảo nhất của tư duy va giao tiếp

Khử nhiễu dữ liệu

Mục đích bước này là loại bỏ noise trong data Đa phần noise là các thẻ HTML,JavaScript, và đương nhiên nếu cứ dé noise đề tiến hành xử lý sẽ dẫn đến kết qua xử lýkhông tốt

Trang 17

Thông thường chúng ta hay loại bỏ noise là các thẻ HTML và JS như trên tuy nhiên thực

tế noise có thể không chỉ là HTML, JS, cũng có thé là những cum từ không cần thiết,

hay ký tự không có ý nghĩa ($%&##").

Ví dụ:

raw word cleaned word stemmed word

0 trouble trouble troubl

1 trouble< trouble troubl

2 trouble! trouble troubl

3 <a>trouble</a> trouble troubl

4 1.trouble trouble troubl

Hình 2.1: Khử nhiễu dữ liệu

Tách từ

Trên thực tế đôi khi các từ trong văn bản có thể sẽ được viết liền nhau (ví dụ như cáchashtags) chính vì vậy đề xử lý ngôn ngữ một cách tốt nhất thì tách từ là một phần khôngthê thiếu 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ácrấ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.

Trang 18

Chuẩn hóa từ

Mục đích của chuân hóa từ là đưa văn bản từ các dạng không đông nhât vê cùng một

dạng Dưới góc độ tối ưu bộ nhớ lưu trữ và tính chính xác cũng rất quan trọng

nhiều dữ liệu, ảnh hưởng dén tính chính xác của mô hình sau này.

Một bước tiền xử lý rất dễ bị bỏ qua đó là quá trình chuyên đôi một văn bản thành mộtdạng chuẩn (chuẩn) Ví dụ: từ “gooood” và “gud” có thể được chuyên thành “good”,dạng chuẩn của nó, đây là bước cực kì quan trọng đặc biệt đối với các loại văn bản trên

mạng xã hội

Trang 19

Ví dụ:

Raw Normalized

2moro tomorrow 2mrrw

2morrow 2mrw

so sánh băng” dé kiểm tra, nhưng thực tế thì không phải là như vậy Đối với một số ngôn

ngữ, tiêu biểu là tiếng Anh, mỗi từ có thé có nhiều biến thé khác nhau Điều này làm cho việc so sánh giữa các từ là không thé mặc dù về mặc ý nghĩa cơ bản là như nhau Ví dụ các từ “walks“, “walking“, “walked” đều là các biến thé của từ “walk” và đều mang ý

nghĩa là “đi bộ” Vậy làm sao để so sánh các từ như thế với

nhau? Lemmatization va Stemming chính là 2 kỹ thuật thường được dùng cho việc này.

Trang 20

Kỹ thuật Stemming

Stemming là kỹ thuật dùng dé biến đổi 1 từ về dạng gốc (được gọi là stem hoặc rootform) bằng cách cực kỳ đơn giản là loại bỏ 1 số ký tự nằm ở cuối từ mà nó nghĩ rằng làbiến thể của từ Ví dụ như chúng ta thấy các từ như walked, walking, walks chỉ khácnhau là ở những ký tự cuối cùng, bang cách bỏ đi các hậu tố —ed, —ing hoặc —s, chúng ta

sẽ được từ nguyên gốc là walk Người ta gọi các bộ xử lý stemming là Stemmer

Bởi vì nguyên tắc hoạt động của stemmer rất là đơn giản như vậy cho nên tốc độ xử lý

của nó rat là nhanh, và kết quả stem đôi khi không được như chúng ta mong muốn Chang hạn như từ goes sẽ được stem thành từ goe (bỏ chữ s cuối từ) trong khi đó stem của

từ go vẫn là go, kết quả là 2 từ “goes” và “go” sau khi được stem thì vẫn không giốngnhau Một nhược điểm khác là nếu các từ dạng bất quy tắt như wenthay spoke thì stemmer sẽ không thé đưa các từ này về dạng sốc là go hay speak

dạng như nhau Người ta gọi bộ xử lý lemmatization là lemmatizer

Nhược điểm của lemmatization là tốc độ xử lý khá chậm vì phải thực hiện tra cứu từtrong cơ sở dit liệu Trong các ứng dụng xử lý NLP mà cần độ chính xác cao hơn và thờigian không quan trọng, người ta có thé sử dụng Lemmatization

Trang 21

Vector hóa văn bản

Vector hoá dữ liệu văn bản là một bước quan trọng của quy trình xử lý ngôn ngữ tự nhiên

(natural language processing) Hầu hết các thuật toán gom cụm đều nhận đầu vào là cácvector n chiều (n tuỳ vào kiểu dit liệu, quá trình tiền xử lý) Do đó ngôn ngữ tự nhiêncần một phương pháp dé xử lý chuyển đổi chúng trở thành đầu vào phù hop cho cácthuật toán máy học (machine learning) mà trước đó chỉ được sinh ra dé xử lý các dạng

đữ liệu vector.

Trang 22

2.2.1 Mô hình túi từ

Mô hình túi từ là một phương pháp biéu diễn từ đơn giản được sử dụng trong xử lý ngônngữ tự nhiên và truy vấn thông tin (IR) Trong mô hình này, một văn bản sẽ được biểudiện như một túi các từ tạo nên văn bản đó, bỏ qua về mặt cú pháp và trật tự các từ nhưngvan giữ lại được tính chất đa dạng

Mô hình túi từ thường được sử dụng trong phân lớp văn bản khi mà tần suất xuất hiện

của mỗi từ sẽ được sử dụng làm đặc trưng cho bộ phân lớp

"Phuc", "thích"; "xem", "phim", "Dat" "cũng", "thích", "xem", "phim"

"Bich" "cũng" "thích" "xem" "các" "tran" "bóng" "da"

Sau khi chuyền đổi văn bản thành một "túi từ", chúng ta có thé tìm các biện pháp khácnhau dé mô tả văn bản Loại đặc điểm hoặc tinh năng phô biến nhất được tính toán từ

mô hình túi từ là tan số thuật ngữ, cụ thể là số lần một thuật ngữ xuất hiện trong văn ban

Từ ví dụ trên, có thé biéu diễn lại thành hai vector văn bản như sau:

Trang 23

(1) [1, 2, 2, 2, 1, 1, 9, 9, 9, 9, @]

(2) [9, 1, 1, 9, 9, 1, 1, 1, 1,.1, 1]

2.2.2 Không gian vector

Nói một cách ngắn gọn, Vector space model (Mô hình không gian vector) là một môhình đại số (algebraic model) thé hiện thông tin văn bản như một vector, các phần tử củavector nay thé hiện mức độ quan trọng của một từ và cả sự xuất hiện hay không xuất

hiện (Bag of words) của nó trong một tài liệu.

Mô hình này biéu diễn văn bản như những điểm trong không gian Euclid n-chiéu, mỗichiều tương ứng với một từ trong tập hợp các từ Phan tử thứ i, là di của vector văn bảncho biết số lần mà từ thứ ¡ xuất hiện trong văn bản Sự tương đồng của hai văn bản đượcđịnh nghĩa là khoảng cách giữa các điểm, hoặc là góc giữa những vector trong không

gian.

Mỗi từ trong không gian vector sẽ có một trọng số, có nhiều phương pháp xếp hạng khác

nhau, nhưng tf-idf (term frequency—inverse document frequency) là một phương pháp

phổ biến dé đánh giá và xếp hạng một từ trong một tài liệu MySQL fulltext search cũng

sử dụng phương pháp này Về cơ bản thì tf-idf là một kỹ thuật (cụ thể là ranking function)giúp chuyên đồi thông tin đưới dang văn bản thành một Vector space model thông qua

các trọng số Vector space model và tf-idf được phát triển bởi Gerard Salton vào đầu

thập niên 1960s.

Mặc dù đơn giản, nhưng mô hình không gian vector và những biên thé của nó hiện nay

vân là cách phô biên đê biêu diễn văn bản trong Data mining và Information retrieval.

Trang 24

Tuy nhiên, một trong những điểm yếu của vector space model số chiều lớn dimensonal), có khoảng cỡ chục triệu chiều trong không gian vector nếu như chúng ta

(high-áp dụng nó vào web search engine.

Hình 2.3 Mô hình không gian vector

2.3 Một số thuật toán gom cụm

Phương pháp Clustering là một phương pháp quan trọng và ứng dụng phô biến trong các

dự án phân tích đặc thù của dữ liệu, bang cach tập hợp dữ liệu thành nhiều cụm (nhóm)

khác nhau.

2.3.1 K-Means

K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm

Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects)

Trang 25

đã cho vào K cụm (K là số các cụm được xác đỉnh trước, K nguyên dương) sao cho tôngbình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid ) là nhỏ nhất.

Thuật toán K-Means thực hiện qua các bước chính sau:

B1: Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster) Mỗi cụm được đại diện

băng các tâm của cụm.

B2: Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng

cách Euclidean)

B3: Nhóm các đối tượng vào nhóm gần nhất

B4: Xác định lại tâm mới cho các nhóm

B5: Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nảo của các đối

tượng

Sơ đồ luồng xử lí K-Means

Number of Cluster K

Trang 26

2.3.2 Agglomerative clustering

Agglomerative Aapproach (bottom up approach) là | phương pháp trong kỹ thuật phan

nhóm theo thứ bac (Hierarchical Clustering Techniques) Ban đầu, chúng ta xem mỗi đốitượng là 1 nhóm (cluster) và nhóm 2 đối tượng gần nhất thành 1 cluster Quá trình nàylặp lại cho đến khi tất cả các đối tượng được nhóm vào 1 cluster cuối cùng

Các bước trong kỹ thuật phân cụm Agglomerative Approach như sau:

BI: Chuyền đôi các đặc trưng (thuộc tính - Features) của đối tượng (objects) vào ma trận

Trang 27

Thuật toán Agglomerative Hierarchical Clustering (gọi tắt là AHC) được mô tả như sau

Trang 28

2.3.3 BIRCH

BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies) là thuật toán

phân cụm phân cấp sử dung chiến lược Top Down

Phương pháp Top Down: Bắt đầu với trạng thái là tất cả đối tượng được xếp trong cùng

một cụm

Mỗi vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị củamột phép đo độ cho đến khi điều kiện dừng thỏa mãn

Y tưởng của thuật toán là không cần lưu toàn bộ đối tượng dữ liệu của các cụm trong bộ

nhớ mà chỉ lưu các đại lượng thống kê

Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu một bộ ba (n, LS, SS)

Trong đó:

n: là số đối tượng trong cụm

LS: là tổng các giá trị thuộc tính của các đối tượng trong cụm

SS: là tổng bình phương các giá trị thuộc tính của các đối tượng trong cụm

Các bộ ba này được gọi là các đặc trưng của cụm kí hiệu CF (Cluster Features) và được lưu trong một cây được gọi là cây CF

Trang 29

mow oon na~

Leaf node

Hình 2.6 Mô tả thuật toán gom cum BIRCH

Một cây CF bao gồm 2 tham số đặc trưng:

Yếu tố nhánh B: Nhằm xác định số tối đa các nút con của mỗi nút trong cây

Ngưỡng T: Khoảng cách tối đa giữa bất kỳ một cặp đối tượng trong nút lá của cây,

khoảng cách này còn gọi là đường kính của các cụm con được lưu tại các nút lá

Trang 30

Các bước trong thuật toán BIRCH:

BI: Duyệt tất cả các đối tượng trong CSDL và xây dựng một cây CF khởi tạo Một đối

tượng được chèn vào nút lá gần nhất tạo thành cụm con Nếu đường kính của cụm con

này lớn hơn T thì nút lá được tách Khi một đối tượng thích hợp được chèn vào nút lá,

tất cả các nút trỏ tới gốc của cây được cập nhật

B2: Thực hiện phân cụm, các nút lá của cây CF lưu giữ các đại lương thống kê của các

cụm con.

B3: Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng trọng tâm cho các

cụm từ B2

Khi hòa nhập 2 cụm ta có: CF=CF¡+CFa = (nitn2; LSI+LSa, SSi+SS2)

Khoảng cách giữa các cụm có thé đo bằng khoảng cách Euclid, Manhatta

Trang 31

2.3.4 DBSCAN

Là kỹ thuật phân cụm dựa trên mật độ, ý tưởng chính đằng sau DBSCAN là một điểm

thuộc về một cụm nêu nó gan với nhiêu diém từ cụm đó.

Có hai tham sô chính của DBSCAN:

e eps: Khoảng cách chỉ định các vùng lân cận Hai điêm được coi là hàng xóm nêu

khoảng cách giữa chúng nhỏ hơn hoặc bang eps

« minPts: Số điểm dữ liệu tối thiểu để xác định một cụm.

« Diém cot lõi: Một điêm là điêm cot lõi nêu có ít nhât sô diém minPts (bao gôm

cả chính điêm đó) trong khu vực xung quanh của nó với bản kính eps.

« Diém biên giới: Một điêm là điêm biên giới nêu nó có thê tiép cận được từ một

điêm cot lõi và có sô điêm nhỏ hơn minPts trong khu vực xung quanh của nó.

« - Điêm ngoại lệ: Diém là điêm ngoại lệ nêu nó không phải là diém cot lõi và không

Hình 2.7 Mô tả quá trình xử lý của thuật toán DBSCAN

Trang 32

Trong trường hợp này, minPts là 4 Điểm màu đỏ là điểm cốt lõi vì có ít nhất 4 điểmtrong khu vực xung quanh của chúng với bán kính eps Khu vực này được hiển thị vớicác vòng tròn trong hình Các điểm màu vàng là các điểm biên giới vì chúng có thê tiếpcận được từ một điểm chính và có ít hơn 4 điểm trong vùng lân cận của chúng Có thểtiếp cận có nghĩa là ở trong khu vực xung quanh của một điểm cốt lõi Các điểm B và C

có hai điểm (bao gồm cả chính điểm đó) trong phạm vi tân sinh của chúng (tức là khu

vực xung quanh có bán kính eps) Cuối cùng N là điểm ngoại lệ vì nó không phải là điểm cốt lõi và không thê đạt được từ điểm cốt lõi.

Trong đó:

e minPts va eps được xác định.

« Điểm bat đầu được chon ngẫu nhiên tại khu vực lân cận của nó được xác định

băng cách sử dụng bán kính eps Nếu có số điểm ít nhất minPts trong vùng lâncận, điểm đó được đánh dau là điểm cốt lõi và bắt đầu hình thành cụm Nếu không,điểm được đánh dấu là nhiễu Khi bắt đầu hình thành cụm (giả sử cụm A), tất cảcác điểm trong vùng lân cận của điểm ban đầu sẽ trở thành một phần của cụm A.Nếu các điểm mới này cũng là điểm cốt lõi, thì các điểm nằm trong vùng lân cận

của chúng cũng được thêm vào cụm A.

« - Bước tiếp theo là chọn ngẫu nhiên một điểm khác trong số các điểm chưa được

thăm ở các bước trước Sau đó, quy trình tương tự được áp dụng.

¢ Qua trình này kết thúc khi tat cả các điểm được truy cập

Bằng cách áp dụng các bước này, thuật toán DBSCAN có thể tìm thấy các vùng có mật

độ cao và tách chúng khỏi các vùng có mật độ thâp.

Trang 33

Một cụm bao gôm các diém cot lõi là lang giêng (tức là có thê tiép cận được với nhau)

và tat cả các diém biên giới của các diém cot lõi này Điêu kiện bắt buộc dé tạo thành một cụm là phải có ít nhât một diém cot lõi Mac dù rat khó xảy ra, chúng ta có thê có một cụm chỉ có một diém cot lõi và các diém biên giới của nó.

Giống như DBSCAN, OPTICS yêu cầu hai tham số, mô tả bán kính khoảng cách tối đa

để xem xét và MinPts, mô tả số lượng điểm cần thiết dé tạo thành một cụm Điểm plađiểm cốt lõi nếu ít nhất các điểm MinPts được tìm thay trong vùng lân cận Ne(p) bao

gồm chính điểm p

2.3.6 Spectral clustering

Gom cụm quang phô (Spectral clustering) là một kĩ thuật thuộc nhóm EDA có kha năngchuyền hóa bộ dit liệu đa chiều phức tạp thành các cụm dữ liệu có ít chiều hơn ban dau.Trọng tâm của thuật toán này hướng đến việc gom cụm toàn bộ quang phổ (spectrum)của các điểm dữ liệu chưa được tô chức trên chiều không gian vector vào các cụm dựa

vào các đặc thù của chúng.

2.3.7 Gaussian mixtures

Thuật toán Gaussian Mixture sử dung lý thuyết về Tối đa hóa kỳ vọng (Expectations

Maximization) để xây dựng các mô hình hỗn hợp Gauss (Gaussian Mixture Models)

Thuật toán này còn có khả năng vẽ ra các elip tin cậy (confidence ellipsoids) cho các mô

hình đa chiều và cả tính toán Chỉ số thông tin Bayes nhằm mục đích tìm ra số cụm trong

bộ dữ liệu.

Trang 34

2.3.8 Mini Batch

MiniBatchKMeans là một biến thé của thuật toán KMeans sử dụng các lô nhỏ dé giamthời gian tính toán, trong khi van cô gang tối ưu hóa cùng một hàm mục tiêu Các lô nhỏ

là các tập hợp con của dữ liệu đầu vào, được lấy mẫu ngẫu nhiên có kích thước cô định

dé chúng có thé được lưu trữ trong bộ nhớ Mỗi lần lặp, một mẫu ngẫu nhiên mới từ tập

dữ liệu được thu thập và được sử dụng để cập nhật các cụm và điều này được lặp lại chođến khi hội tụ Mỗi lô nhỏ cập nhật các cụm bằng cách sử dụng kết hợp lồi của các giátrị của nguyên mẫu và dữ liệu, áp dụng tốc độ học giảm theo số lần lặp Các lô nhỏ nàylàm giảm đáng ké số lượng tính toán cần thiết dé hội tụ thành một giải pháp cục bộ

2.3.9 Mean-Shift

MeanShift clustering nhằm mục đích khám phá các đóm màu 6 mật độ mịn của các mẫu

N6 là một thuật toán dựa trên trọng tâm, hoạt động bằng cách cập nhật các ứng cử viên

cho trọng tâm là giá trị trung bình của các điềm trong một khu vực nhất định Nhữngđiểm trọng tâm nay sau đó được lọc trong một giai đoạn xử lý hậu kỳ dé loại bỏ các bảnsao gần như trùng lặp đề tạo thành tập hợp các trọng tâm cuối cùng

Trang 35

2.4 Tiêu chuẩn đánh giá thuật toán gom cụm

Ba phương pháp phô biến thường được sử dụng trong đánh giá thuật toán gom cụm bao

x

b

gôm

2.4.1 Silhouette Score

Silhouette là một phương pháp giải thích va tính nhất quán trong các cụm dữ liệu Giá

tri silhoutte là thang do mức độ của một đối tượng với cụm của chính nó so với các cụm

khác.

Giá trị của silhouette score sẽ nam trong khoảng từ -1 đến 1

Silhouette score nam gan 1 nghĩa là ví dụ dang được phân cụm chính xác, xa các cum

khác

Silhouette score gần 0 nghĩa là vi dụ đang nằm gần đường bao của cụm

Silhouette score gần -1 nghĩa là ví dụ đang bi phân sai cum

e ala khoảng cách trung bình tới các vi dụ khác ở trong cùng một cum

« b là khoảng cách trung bình tới các ví dụ trong cụm gần nhất

Trang 36

- Tham số trace (BCSM) được tinh bằng tổng bình phương khoảng cách giữa tâm

của các cụm với tâm của toàn bộ dữ liệu, được g1a trọng bằng kích thước của cụm

- Tham số trace (WCSM) là tông bình phương khoảng cách giữa tâm của mỗi cum

với tất cả các điểm còn lại của cụm đó

- _N là số dòng đữ liệu của dữ liệu ban dau

- k là sô cụm được phân ra từ dit liệu ban đâu.

Diém sô Calinski-Harabasz càng cao khi mà các cụm được phân hoạch tot.

Calinski-Harabasz sử dung tâm của các cụm dé tính toán độ phân tán giống với

Davies-Bouldin Tuy nhiên đối với phương pháp Calinski-Harabasz, độ phân tán được tính làkhoảng cách so với tâm của toàn bộ dữ liệu thay vì là tâm của các cụm cụ thể Hệ sốchuẩn hoá (N - k)/ (k - 1) đóng vai trò giảm đi kết quả của Calinski-Harabasz khi k tăng

^

lên.

Trang 37

2.4.3 Davies-Bouldin Score

Davies-Bouldin biểu thị độ 'tương tự' trung bình giữa các cụm, trong đó độ tương tự là

thước do so sánh khoảng cách gitta các cụm với kích thước của chính các cụm đó

Giá trị càng gần 0 cho thấy phân vùng đó càng tốt

Trang 38

2.5 Giới thiệu thư viện Sklearn Cluster

Scikit-Learn

Scikit-Learn là một tập hợp các công cụ dé thực hiện các tác vụ liên quan đến khai thác

và phân tích dữ liệu Nền tảng của nó được xây dựng dựa trên SciPy, NumPy vàMatplotlib Nó bao gồm các mô hình phân loại, phân tích hồi quy, nhận dang hình anh,các phương pháp giảm dữ liệu, lựa chọn và điều chỉnh mô hình, và nhiều thứ khác

NumPy

Nó là một thư viện Python mở rộng được sử dung cho các tính toán khoa hoc.

NumPy thúc đây việc bạn sử dung các hàm phức tạp, đối trong mảng N-chiéu, các công

cụ để tích hợp mã C /€ ++ và Fortran, các khái niệm toán học như dai 36 tuyén tinh, kha

năng số ngẫu nhiên, v.v Bạn có thé sử dụng nó như một vùng chứa đa chiều dé xử lý dữ

liệu chung của mình Nó cho phép bạn tải dữ liệu sang Python và xuất dữ liệu từ cùng

Matplotlib

Day là một thư viện vẽ đồ thị phd biến của Python được các Nha khoa học dữ liệu sửdụng rộng rãi để thiết kế nhiều số liệu ở nhiều định dạng tùy thuộc vào khả năng tương

Trang 39

biêu đô phân tán, biêu đô, biêu đô thanh, v.v của riêng mình Nó cung câp một bản vẽ

2D chất lượng tốt và một bản đồ 3D cơ bản với mức sử dụng hạn chế

Pandas

Pandas là thư viện mã nguồn mở mạnh mẽ nhất của Python để thao tác dữ liệu Nó đượcgọi là Thư viện phân tích dữ liệu Python Nó được phát triển trên gói NumPy.DataFrames được coi là cấu tric dit liệu được sử dụng nhiều nhất trong Python, giúp bạn

xử lý và lưu trữ đữ liệu từ các bảng bằng cách thực hiện các thao tác trên các hàng vàcột Pandas rất hữu ích trong việc hợp nhất, định hình lại, tổng hợp, tách và chọn dữ liệu

Trang 40

Chương 3: Phương pháp thực hiện

3.1 Mô tả bài toán

Twitter là một nền tang micro-blogging sở hữu hàng triệu ngươi dùng trên toàn thé giới,nơi tập hợp hàng loạt các nội dung mà người dùng có thể đăng tải và trao đôi qua lại cáctin nhắn với độ dài tối đa lên đến 140 kí tự (hay còn được gọi là các “tweet”) Do đó, đây

có thê được xem là một trang tin tức với khối lượng thông tin không lồ trên toàn thế giới

trong thời gian thực, là nguồn dữ liệu vô cùng tốt cho các công việc nghiên cứu đặc biệt

là với các sự việc gây ảnh hưởng tới toàn cầu như dai dịch Covid-19 trong năm nay Đặcbiệt với các trang mạng xã hội như twitter người dùng có thé phân loại bài viết của bản

thân thông qua các hashtag, điều này khiến cho việc phân nhóm các từ khóa hashtag trở

thành một công cụ hỗ trợ các nhà nghiên cứu, các cơ quan và các tô chức có thé nghiêncứu, khoanh vùng cũng như nắm bắt được phản ứng của người dân để hỗ trợ ra quyết

định thực hiện các biện pháp, hành động hợp li là điều vô cùng quan trọng Chính vì vậy

mà nhóm đã quyết định tiến hành nghiên cứu va áp dụng các thuật toán trong xử lý dữliệu dé tìm ra thuật toán nào cho ra kết quả tốt nhất

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

3.2.1 Thu thập dữ liệu

Twitter hiện đang cung cấp công cụ “Twitter API” với đường dẫn sau:

https://developer.twitter.com/en/use-cases/listen-and-analyze

Tuy nhiên, vì lý do bao mật, an toàn thông tin người dùng nên công cụ trên chi được

cung cấp cho các đối tác thoả mãn các chính sách về bảo mật thông tin của Twitter Mặc

dù Twitter API có hỗ trợ cho nghiên cứu trong môi trường giáo dục, tuy nhiên Việt Nam

không phải là quốc gia được hỗ trợ và điều này khiến cho việc thu thập dit liệu chỉ có

Ngày đăng: 02/10/2024, 03:26

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

TÀI LIỆU LIÊN QUAN

w