Các mô hình cùng có mục tiêu phân loại các bình luận phô biên gôm có các mô hình học máy truyên thông, Các mô hình học sâu, mô hình Các bộ phận tiền xử lý văn bản trong Xử lý ngôn ngữ t
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
VÕ HÒNG PHÚC HẠNH NGUYÊN HOÀNG HUY
KHÓA LUẬN TÓT NGHIỆP
PHÁT HIỆN BÌNH LUẬN XÚC PHẠM NGÔN NGỮ TIENG VIET TREN MẠNG XÃ HỘI TRONG DU LIEU
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN KHOA KHOA HOC VA KY THUAT THONG TIN
VO HONG PHÚC HẠNH - 18520275 NGUYÊN HOÀNG HUY - 18520842
KHÓA LUẬN TÓT NGHIỆP
PHÁT HIỆN BÌNH LUẬN XÚC PHẠM NGÔN NGỮ
TIENG VIET TREN MẠNG XÃ HỘI TRONG DU LIEU
TRUC TUYEN
Online hate speech detection on Vietnamese social media text in
streaming data
CU NHAN NGANH KHOA HOC DU LIEU
GIANG VIEN HUONG DAN
TS DO TRONG HOP
TP HO CHÍ MINH, 2021
Trang 3THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
T8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4LỜI CẢM ƠN
Nhóm xin chân thành cảm ơn Quý Thầy Cô trường Đại học Công nghệ Thông tin cũng như Quý Thay Cô khoa Khoa học và Kỹ thuật thông tin đã tận tình truyền
đạt kiến thức, giúp tạo nên nên tảng để nhóm có thể tự tin thực hiện đề tài.
Bên cạnh đó chúng em cũng muốn gửi lời cảm ơn đặc biệt tới thay Đỗ Trọng Hợp,
thay Lưu Thanh Sơn đã hỗ trợ nhóm rất nhiều trong việc làm quen với phương
pháp, hướng dẫn các thông tin dé có thể hoàn thành bài khóa luận.
Do kiến thức còn thiếu sót và kinh nghiệm vẫn con hạn chế nên bài báo cáo của
nhóm sẽ khó tránh khỏi những sai sót không đáng có Nhóm rất mong nhận được những góp ý dé bài nhóm có thể hoàn thiện và phát triển khóa luận này.
Tran trọng.
Trang 5Chương 1 TONG QUAN DE TÀII 2-5255 2522EE9EEEEEEEE2EE2EEEEEEEEEEEEEEkrrkerreee 2
1.1 Lý do chọn đề tài ¿5c tk EE2E12112121711111111111 11111111 E1xcy, 2
2.1 Bài toán phát hiện bình luận xúc phạm 55+ +5 + £++se£++sex+ee+eeess 6
2.2 Mô hình phân loại văn bản - ¿c6 + 33113331 EEESEESEsrsesrereerrere 6
2.2.1 Mô hình transfer learnIng - «+ ksxkvssvskeeeeeeeree 6
2.2.2 Mô hình học máy truyền thống -¿- 2-2 2 2 £+E££Eerxerxerxerszrs 7
2.2.2.1 Trích xuất đặc trưng - + +x+Et+EkeEESEEE 22121211211 EEcrkeei 7
2.2.2.2 Máy véc-tơ hỗ trợ (Support Vector Machine) -: 7 2.2.2.3 Hồi quy logistic (Logistic Regression) -:-¿©csccscsce: 9
2.2.2.4 Phân loại Ridge (Classifier R1dge) - 5c csecssessessree 9
2.2.3 Mô hình học sâu - - Ă E133 2111111111511 111111 85111111 cv 10
2.2.3.1 Nhúng từ (Word embedding) - 5 5+ + x+ssesseeeserseee 10
Trang 62.2.3.2 Công tái Unit (Gated Recurrent Units) -<<<<+<<<c+++ lãi
2.2.3.3 Long Short Term Memory (LSTM) -<c+<c+ssessses 13
2.2.3.4 Mạng than kinh hồi quy hai chiều (Bi-directional Recurrent Neural
[n9 ©)NPn 16
2.2.3.5 Mạng nơ-ron tích chập (Convolutional Neural NÑetworks) 17
2.3 Phương pháp kiểm định giả thuyẾt 2-52 2 s+EeEEeEEeEzErErkerrees 20
2.3.1 _ Phân tích phương sai (ANOVÀI)) nh y 20
2.3.2 Phân tích phương sai hai yếu tố có lặp (two-factor ANOVA with
19)01621710002000070Ẻ77 21
2.3.3 Phân tích hau định Tukey’s HSD s55 S2 *++++sxseersseees 22
2.4 Event stream processing và các nén tang cho Event stream processing 22
2.4.1 Dit liệu streaming Ăn Hiệp 22
2.4.2 Event stream DTOC€SSINE - Ă SH ng riệp 23
2.4.3 Nền tảng Apache Kafka 5-52 c2 2E EEEEEEEEEerkerrrrrrrred 23
2.4.4 Nền tảng Apache Spark cccccccscsssssssesssesssessecssecssecscssecssecssessecasecsees 25
Trang 72.6.3 F-SCOLE Q00 ng ng rrg 29
Chương 3 PHÁT TRIÊN MÔ HÌNH HSD 2 ¿2 ©s+SE+£E+E+EzEzrrreree 31
3.1 Các công trình liÊn Qua1 - 2c 2112111831118 1891118 11 1 ng vn rry 31
3.2 Môi trường trién khai 2 + ©x2E++EE+EE£EEEEEEEEEEEEEEE21122171 2121 xe 31
3.3 Bộ dữ liệu - + S222 22 2 2121121121121 re 32
3.4 Đặc trưng cua dtr liệu văn bản trên mạng xã hội - - -‹ «< +2 32
3.5 Tiền xử lý -k ck k2 E1 1 1211211211 1111121111111 111011111 g 32
CN no n444 36
3.7 Kết quả thực nghiệm - ¿5c tt 2 1211211 2121111111211 1.1 tre 37
3.6 Pham tích lỗi :- 5c 525: 22 E2212122121121211212112111211111 111.11 re 38
Chương 4 PHAN TÍCH ANH HƯỚNG CUA TIEN XỬ LÝ XÓA TỪ DUNG 40
Xây dựng kịch bản thí nghiỆm - G5 + S33 * +3 + kesirerrreree 42
Thực nghiệm trên các bộ dữ LGU - 5 <5 +2 *£++vE+ssessseesske 43
Thu thập kết quả - ¿2 2£ ©ESE£2E£+EE£EE£EEEEEEEEEEEE71211211271 1121 1.ExeU 44
Phân tích Kết quả ¿2-2-2 2 £+E£+E£EE£EESEEEEEEEE2E121717171711111 1.1 cxeE 45
r0 aã äa 49
Chương 5 XÂY DỰNG MÔ HÌNH REAL-TIME HSD 2-2-5252 50
Trang 85.1 Các công trình liên Qua1n - - «tk vn ng ng nrkp 50
5.2 Tổng quan mô hình - 2-2 2 2 £EE£EE£EE£EE£EEEEEEEEEEEEEEEEEEEEEEEEErrkrrerreeg 50
5.2.1 _ Thu thập, tiền xử lý và phát hiện bình luận xúc phạm 51
5.2.2 Stream processing két hop phân tích dữ liệu -‹- 52
5.2.3 Trình bày các phân tÍCh - +11 v19 ve rkp 52
5.2.4 Vai trò của Apache Kafka - như 52
5.3 Kết quả thực nghiệm mô hình 2- 2 2 2 22 £+E£+E£EE£EE+EE+EzEzEerxees 53
5.3.1 Môi trường triển khai :-2¿©++2+++2++2E+tzE+trxeerxerrrerseee 53
Trang 9DANH MỤC HÌNH
Hình 2.1: Bài toán phát hiện bình luận xúc phạm - - 5 5-5 25+ vseeeeseerss 6
Hình 2.2: Kernel trick làm tăng số chiều đữ liệu, biến bài toán thành có thể tách được.(Nguôồn: Medium) - 5c 25s E2 2E1E71711211211711121111 1171.1111111 xe 8
Hình 2.3: So sánh kiến trúc của một don vị LSTM với GRU (Nguồn:
"(0S €1in01 s50) 1 12
Hình 2.4: Kiến trúc một đơn vị của LSTM (Nguồn: theaidream.com) 14
Hình 2.5: Kiến trúc của RNN với BiRNN (Nguồn: commons.wikimedia.org) 16
Hình 2.6 Lớp convolutional trích rút đặc trưng với filter có kích thước 3x3 và độ dài
trượt bang 1 (Nguôồn: davidsbatista.ne†) :- 55c 222k c2x22kSEkerkkerkrerkrrrkerrrees 18Hình 2.7: Ví dụ lớp pooling với độ dai trượt bằng 2 2-2 2+ x£x+£x+zzrszsez 19Hình 2.10: Quá trình gửi nhận tin nhắn của Kafka -. ¿©2¿©5z+cxz+cxzcsxee: 24Hình 2.8: Số lượng diém dữ liệu trong từng nhãn của bộ dữ liệu ViHSD 27Hình 2.9: Số lượng điềm dif liệu trong từng nhãn của bộ dữ liệu VLSP-HSD 28Hình 3.1: Các bước tiền xử lý đữ liệu -¿- 2 ¿+ +E+EE#EE2EEEEEEEEEEEEEEEEerkrrkrrkrree 33
Hình 3.2: Confusion matrix của mô hình PhoBERIT 5 5 + *++kEssvseesseesse 39
Hình 4.1: Quá trình thực nghiệm phân tích hiệu quả loại bỏ stop-word 41
Hình 4.2: Quá trình thử nghiệm trên các tap đữ liệu 55c + £++cxseessersse 43
Hình 4.3: Kết quả thực nghiệm xóa st0p-WOrd ¿- 2 2 s5£+E£+E££Ee£xerxerxrresree 4
Hình 4.4: Trung bình kết quả xóa stop-word của các mô hình - 48Hình 4.5: Kết quả thực nghệm xóa stop-word trên bộ dữ liệu VLSP-HS}D 48
Trang 10Hình 4.6: Kết quả thực nghệm xóa stop-word trên bộ dữ liệu VIHSD Hình 5.1: Kiến trúc của mô hình real-time HSD - =2
Hình 5.2: Ứng dụng web cung cấp thông tin của quá trình streaming
Trang 11Vi dụ của bộ dữ liệu VIHSTD - -G S1 3n SH ng ng reo 27
Vi dụ của bộ dữ liệu VLSP-HSÌD - - SĂ SàS SH HH HH Hà, 28
Số lượng nhãn trước khi xóa bình luận NULL và lặp - 33
Số lượng nhãn sau khi xóa bình luận NULL và lặp - 33
Ví dụ các từ trong từ điển viẾt tt oo eeseessessesseeseessessesseeseessesseesees 35
Ví dụ các từ có nhiều nghĩa trong từ điền viết tắt -: -:-s¿ 35
Siêu tham số các mô hình - ¿+ +¿+++EE+EE+EE£+E£EEEEEtEErErrrkrrkerxee 36Kết quả của các mô hình 2-2 2 2+ +x9EEEE+EE£EEEEEEEEEEerEerkrrkrrerree 37
Vi dụ dự đoán sai của mô hình << +2 +22 +3 *++2*‡+++£eeeeseeeeeseesss 38
Kết quả không xóa stop-word trên hai bộ dữ liệu -2- 5-5552 42
Kết quả xóa stop-word trên hai bộ dit liệu với bộ stop-word có sẵn 42
Kết quả kiểm định giả thuyết bằng ANOVA hai yếu tổ có sự lặp lại 45Kết quả kiểm định giả thuyết bằng Tukey’s HSD -: 5¿ 41
Trang 12DANH MỤC TỪ VIẾT TẮT
HSD LR SVM GRU BIGRU
LSTM
BiLSTM
CNN ANOVA
Tukey’s HSD
TF-IDF
FP TP FN
Hate speech detection Logistic Regression
Support Vector Machine Gated Recurrent Units
Bidirectional Gated Recurrent Unit
Long Short Term Memory Bidirectional Long Short Term Memory
Convolutional Neural Networks Analysis of Variance
Tukey's honest significance test Term Frequency - Inverse
Document Frequency False Positive
True Positive False Negative
Trang 13TÓM TẮT KHÓA LUẬN
Sự phát triển mạnh mẽ của các nền tảng mạng xã hội đã dẫn đến một lượng lớnthông tin, bao gồm cả bình luận xúc phạm Việc phát hiện bình luận xúc phạm trong dữliệu trực tuyến là một nhiệm vụ khó khăn do đặc trưng của tiếng Việt trên mạng xã hội.Hơn nữa, khối lượng thông tin, tăng nhanh chóng theo giây Điều này đòi hỏi quá trình
xử lý và phân tích hệ thống theo thời gian thực
Khoá luận này sẽ trình bày phương pháp xây dựng hệ thống phát hiện bình luận xúcphạm trên mạng xã hội của tiếng Việt theo thời gian thực Hệ thống bao gồm ba thànhphan Thanh phan đầu tiên là bộ phận tiền xử lý, nỗi bật trong đấy là từ điển viết tắttiếng Việt Thành phần thứ hai là mô hình HSD dựa trên mô hình PhoBERT đã đượchuấn luyện với bộ dữ liệu VIHSD PhoBERT được lựa chọn vì kha năng phát hiện bình
luận xúc phạm hiệu quả cao nhất Bên cạnh PhoBERT, nhóm còn thực hiện đánh giá
trên nhiều loại mô hình khác như học máy truyền thống, học sâu Bộ phận tiền xử lý và
mô hình sẽ được tích hợp vào thành phần thứ ba là hệ thống xử lý trực tuyến phát hiệnbình luận xúc phạm Trong hệ thống này, framework Spark va Kafka được sử dung détạo thành một hệ thống xử lý trực tuyến bình luận xúc phạm Bộ đữ liệu ViHSD được
sử dụng huấn luyện và đánh giá hiệu quả huấn luyện Trong quá trình tiền xử lý, nhómnhận thấy xóa stop-word là phương pháp cơ bản hay được dùng dé cải thiện mô hình
Do đó, nhóm tiến hành kiểm định giá thuyết về hiệu quả của phương pháp xóa
stop-word dựa trên thực nghiệm và phân tích ANOVA và Tukey’s HSD trong bài toán phat hiện bình luận xúc phạm.
Trang 14Chương 1 TONG QUAN DE TÀI
1.1 Ly do chon dé tai
Trong những năm gần đây, mạng xã hội ngày càng phố biến dưới sự pháttriển của công nghệ cũng như tình hình đại địch Covid-19 kéo dài [8] Đối với ngườidùng, mạng xã hội mang lại nhiều giá trị tích cực, tuy nhiên nó cũng ân chứa nhiềumặt tối Một trong các mặt tiêu cực là những bình luận xúc phạm Các bình luận nàygây ảnh hưởng lớn đến tâm lý và trải nghiệm người dùng theo chiều hướng xấu Nếukhông ngăn chặn các bình luận tiêu cực, cuộc sống của người dùng có thể hứng chịunhiều hệ lụy không mong muốn Vậy nên, giải quyết các nội dung xúc phạm là mộtnhiệm vụ cấp bách quan trọng
Bản thân các mạng xã hội đã có nhiều nỗ lực trong việc hạn chế nội dung tiêucực, đặc biệt là các bình luận của người dùng [17], [18], [19] Tuy nhiên, điều nàyđược chú trọng nhiều hơn ở những ngôn ngữ lớn thay vì tiếng Việt [20] Vì lý donày, mạng xã hội tiếng Việt vẫn chứa nhiều nội dung rác Đề giữ cho môi trường
mạng xã hội lành mạnh, các quản tri viên phải lọc thủ công những nội dung tiêu cực.
Nhưng điều này thật sự rất khó khi lượng người dùng mỗi ngày không ngừng tăngcũng như sức người có giới hạn Với sự giúp đỡ của AI, các quản trị viên có thểquản lý nội dung không lành mạnh hiệu quả hơn mà không tốn nhiều công sức Từ
đó xuất hiện nhu cầu xây dựng một hệ thống phát hiện nội dung tiêu cực dành riêngcho tiếng Việt Hệ thong nay có thé phát hiện nội dung tiêu cực trên các mạng xã
hội Mở rộng hơn, dựa vào kết quả của hệ thống, quản tri viên của các mạng xã hội,
diễn đàn, trang web và báo trực tuyến có thể đưa ra biện pháp xử lý phù hợp
Trong bối cảnh các nền tảng streaming phát triển mạnh, dẫn đến khối lượngbình luận tăng nhanh chóng theo từng giây Vấn đề này đặt ra yêu cầu xử lý các bìnhluận theo thời gian thực Nếu như các các bình luận công kích không xử lý ngay cóthê dẫn đến những cuộc cãi vã không mong muốn hoặc tệ hơn là xung đột ngoài đờithật ảnh hưởng nghiêm trọng đến cuộc sống người dùng Với các trang dịch vụ, kinhdoanh, bình luận xấu có thể gây những ấn tượng không tốt với khách hàng, ảnhhưởng trực tiếp tới hình ảnh của doanh nghiệp, khiến khách hàng rời bỏ Hơn nữa,
Trang 15phát hiện tính tiêu cực trong bình luận trên môi trường mạng xã hội là một nhiệm
vụ khó khăn Bởi vì, đôi khi ngữ cảnh không được rõ ràng khiến tính chất của đối
tượng bị mập mờ, có nhiều cách hiểu Vấn đề này còn phức tạp hơn trong tiếng Việt
vì ngôn ngữ của chúng ta có đa dạng sắc thái và mức độ biéu cảm Trong thực tế sửdụng mạng xã hội, người dùng có xu hướng sử dụng chữ viết tắt, teencode, các thuậtngữ mang phong cách riêng và tiếng lóng Với những khó khăn trên, cần phải tậptrung xử lý chuẩn hóa dit liệu và nghiên cứu triển khai hệ thống
Khoá luận này tập trung vào hệ thống phát hiện bình luận xúc phạm trên
mạng xã hội theo thời gian thực trong ngôn ngữ tiếng Việt Trong đó, nhóm phântích và thực nghiệm bộ phận tiền xử lý, các mô hình cũng như tiễn hành xây dựng
hệ thống xử lý dữ liệu theo thời gian thực
1.2 Mục tiêu
1.2.1 Các tiêu chí
- = Hệ thống phân loại bình luận xúc phạm trên các mạng xã hội với ngôn
ngữ tiêng Việt có thê xử lý hiệu quả các bình luận và phân loại nhãn của
chúng với độ chính xác cao.
- Hệ thống nhận diện bình luận xúc phạm theo thời gian thực với tốc độ xử
lý nhanh chóng.
- Phan tích được tác dụng của bộ phận tiền xử lý xóa stop-word trong bài
toán nhận diện bình luận xúc phạm.
1.2.2 Đối tượng
- Các bộ phận tiền xử lý văn bản trong Xử lý ngôn ngữ tự nhiên
- Ung dụng của kỹ thuật học máy trong HSD
- Cac mô hình cùng có mục tiêu phân loại các bình luận phô biên gôm có
các mô hình học máy truyên thông, Các mô hình học sâu, mô hình
trans-former.
Trang 161.2.4.
Ứng dụng của các framework xử lý dữ liệu lớn theo thời gian thực đề thu
thập đữ liệu bình luận trực tuyến từ mạng xã hội và xử lý dir liệu
stream-ing.
Cac phuong phap kiém dinh gia thuyét
Pham vi
Các bộ phận tiền xử lý văn ban trong Xử ly ngôn ngữ tự nhiên
Ứng dụng của kỹ thuật học máy trong HSD
Các mô hình cùng có mục tiêu phân loại các bình luận phô biên gôm có
các mô hình học máy truyên thông, Các mô hình học sâu, mô hình
Các bộ phận tiền xử lý văn bản trong Xử lý ngôn ngữ tự nhiên
Ứng dụng của kỹ thuật học máy trong HSD
Các mô hình cùng có mục tiêu phân loại các bình luận phô biên gôm có các mô hình học máy truyên thông, Các mô hình học sâu, mô hình trans- former.
Ung dụng của các framework tính toán song song và phân tán như Apache
Kafka, Apache Spark.
Các phương pháp kiểm định giả thuyết
Trang 171.3 Cầu trúc khóa luận
Chương 1 — Tổng quan dé tài: Giới thiệu tổng quan về dé tài nghiên cứu,
mục đích nghiên cứu, phạm vi nghiên cứu và phương pháp nghiên cứu.
Chương 2 - Tổng quan lý thuyết: Giới thiệu tổng quan về các kiến thức nền
tảng sử dụng trong đê tài và các nghiên cứu liên quan.
Chương 3 - Phát triển mô hình HSD: Trình bày các mô hình cho HSD và cáckết quả thực nghiệm
Chương 4 - Phân tích ảnh hưởng của tiền xử lý trong HSD: Trình bày các bộphận tiền xử lý sử dụng trong HSD và kết quả thực nghiệm
Chương 5 - Xây dựng mô hình real-time HSD: Trinh bay mô hình đã tiếnhành và các kết quả thực nghiệm
Chương 6 - Tổng kết: Kết luận và hướng phát triển
Trang 18Chương2 KIÊN THỨC TONG QUÁT
2.1 Bài toán phát hiện bình luận xúc phạm
Bài toán phát hiện bình luận xúc phạm được mô tả như sau:
Đầu vào: Bình luận tiếng Việt trên mạng xã hội
Đầu ra: Một trong ba nhãn CLEAN, OFFENSIVE, HATE được dự đoán
bởi mô hình đã được huấn luyện
Hình 2.1: Bài toán phát hiện bình luận xúc phạm
Bình luận sau khi được đưa vào sẽ được xử lý bằng các bộ phận tiền xử
lý, sau đó bình luận sẽ được đưa vào mô hình dé dự đoán và thu được kết qua là
nhãn của bình luận.
2.2 Mô hình phân loại văn bản
2.2.1 Mô hình transfer learning
PhoBERT là mô hình được tiền huấn luyện với quy mô lớn dành cho tiếngViệt Nó được xuất bản bởi Nguyen và các cộng sự vào năm 2020 [5] Phuong
pháp tiếp cận huấn luyện trước của mô hình PhoBERT dựa trên RoBERTa, môhình được tối ưu hóa từ huấn luyện trước của mô hình BERT để có hiệu suất tốt
hơn, được Facebook giới thiệu năm 2019 Do đó, PhoBERT chỉ sử dụng Masked
Language Model dé huấn luyện, không sử dung Next Sentence Prediction
PhoBERT có hai phiên ban đó là PhoBERT_base với 12 khối transformerblocks và PhoBERT_large với 24 khối transformer blocks PhoBERT được huấnluyện trên bộ dữ liệu kích cỡ khoảng 20GB bao gồm khoảng 1GB Vietnamese
Wikipedia corpus và 19GB còn lại tự Vietnamese news corpus Nó sử dụng
Trang 19RDRSegmenter của VNCoreNLP để tách từ cho đữ liệu huấn luyện trước khi
đưa vào BPE encoder.
2.2.2 Mô hình học máy truyền thống
Các mô hình học máy truyền thông thường được sử dụng trong các tác vụphân loại văn bản cũng được quan tâm Trước khi huấn luyện, TF-IDF được ápdụng để trích xuất các đặc trưng
2.2.2.1 Trích xuất đặc trưng
TF-IDF (Term Frequency - Inverse Document Frequency) là một
thống kế số nhằm phản ánh tam quan trọng của một từ đối với một tai liệutrong một kho ngữ liệu Nó thường được dùng như một yếu tố trọng sốtrong truy xuất thông tin, khai phá văn bản Giá trị tf-idf tăng ty lệ thuậnvới số lần một từ xuất hiện trong văn bản và được bù đắp băng số lượngtài liệu xuất hiện trong kho ngữ liệu mà chứa từ đó, điều này giúp đánhgiá sự thật rằng một vài từ xuất hiện thường xuyên hơn
Tần suất xuất hiện của từ (Term frequency) là số lần từ xuất hiệntrong văn bản Tần suất văn bản nghịch đảo (Inverse DocumentFrequency) giúp đánh giá tam quan trọng của một từ trong văn bản Cónhững từ có số lần xuất hiện nhiều trong văn bản như "là", "đó", "này"
nhưng độ quan trọng lại không cao Những từ mà 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ănbả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ó
gia tri cao.
2.2.2.2 Máy véc-tơ hỗ tro (Support Vector Machine)
Support Vector Machine (SVM) là một tap các phương pháp hoc
có giám sat được sử dụng cho phat hiện các đường outlier, phan loại va
hdi quy SVM xây dựng một siêu phăng trong không gian đa chiều dé táchcác lớp khác nhau Nó tạo ra siêu phẳng theo một cách lặp đi lặp lại, để
Trang 20có thé tối thiểu lỗi Ý tưởng chính của SVM là tìm một siêu phăng biêntối đa mà chia đữ liệu thành các lớp một cách tốt nhất.
Hình 2.2: Kernel trick làm tăng số chiều dữ liệu, biến bài toán thành có
thé tách được (Nguồn: Medium)
Thuật toán SVM được thực thi sử dụng một nhân (kernel) Một
nhân biến đổi một không gian dữ liệu đầu vào thành dạng được yêu cầu
SVM sử dụng một kỹ thuật được gọi là kernal trick Nhân nhận một không
gian đầu vào và chuyên nó thành một không gian có số chiều lớn hơn Nóicách khác, nó chuyên bài toán không thể tách được thành bài toán tách
được bằng cách cộng thêm số chiều cho nó Mánh khóe nhân giúp xây
dựng một classifier chính xác hơn Có 3 nhân chính được dùng:
Nhân tuyến tính (linear kernel) được dùng như một tích vô hướng thôngthường cho hai quan sát cho trước bất kỳ Tích giữa hai vector là tổng của
tích các cặp giá trị đầu vào.
Nhân đa thức (Polynomial kernel) Một nhân đa thức là một dạng tổngquát hơn của nhân tuyến tính Nhân đa thức có thể phân biệt không gian
đầu vào cong hoặc phi tuyến
Nhân hàm cơ sở xuyên tâm (Radial Basis Function kernel) là một ham sốphố biến được sử dụng trong phân lớp SVM RBF có thé ánh xạ khônggian đầu vào thành một không gian vô hạn chiều
Trang 21Thư viện Scikit-learn cung cấp sự thực thi SVM với cả ba nhân trên
cho ngôn ngữ Python và được sử dụng trong khóa luận.
2.2.2.3 Hồi quy logistic (Logistic Regression)
Logistic Regression (LR) là một mô hình thống kê sử dung hàmlogistic dé mô hình một biến phụ thuộc nhị phân, nó có thể mở rộng rathành nhiều biến thé khác Hồi quy logistic được sử dụng cho các bài toán
phân loại Trong logistic regression, các xác suất mô tả các đầu ra khả thi
của một phép thử đơn lẻ được mô hình sử dụng ham logistic:
Trong đó, Xo là giá tri x của điểm giữa cua ham sigmoid, L là giá trị lớn
nhất của đường đồ thị, k là độ đốc của đường đồ thị
Hồi quy logistic được xem như một bài toán tối ưu Với bài toán phân loại
nhiều lớp, nó sẽ tối thiêu hàm chi phí của mình
Logistic regression có thê được phân thành:
- Binomial: biến phụ thuộc chỉ có 2 loại khả năng
- Multinomial: Biến phụ thuộc có 3 hoặc nhiều hơn các loại khả
năng nhưng không có thứ tự.
- Ordinal: Biến phụ thuộc có 3 hoặc nhiều hơn các loại khả năng
nhưng có thứ tự
Trong khóa luận này, mô hình Logistic regression Multinomial được sử
dụng cho bài toán HSD với ba loại nhãn.
2.2.2.4 Phân loại Ridge (Classifier Ridge)
Ridge regression giải quyết bài toán Binh phương tối thiểu thường
(Ordinary Least Squares) bằng cách áp đặt một hình phạt với kích thướccủa các hệ số Hệ số ridge tối thiểu một tổng các bình phương bị phạt:
Trang 22min„||Xø — y|l§ + al|ellÊ
Trong đó, tham số œ >= 0 kiểm soát sự co rút của đồ thị: giá trị
cảng lớn, lượng co rút càng lớn.
Classifier Ridge (RC) trước tiên chuyên đổi các giá trị mục tiêu
thành {-1, 1} và sau đó xử lý van đề như một nhiệm vụ hôi quy (hồi quy
nhiều đầu ra trong trường hợp đa phân loại), tối ưu hóa mục tiêu tương tựnhư Ridge Regression Với phân lớp nhiều lớp, bài toán được xem nhưmột hồi quy nhiều đầu ra, lớp dự đoán tương ứng với đầu ra với giá trị
cao nhât.
Mô hình học sâu
Trước khi được huấn luyện bởi các mô hình học sâu, đữ liệu đi qua lớp
Word embedding nhăm biéu diễn các từ một cách ý nghĩa về mặt ngữ nghĩa, ngữ
cảnh
2.2.3.1 Nhung từ (Word embedding)
Word embedding là một cách biéu diễn cho văn bản trong đó các
từ có cùng nghĩa được biểu diễn tương tự nhau Mỗi từ sẽ được biéu diễnbằng một vector giá trị thực có số chiều (độ dài) là tham số được chỉ rõ
Các vector này mã hóa ý nghĩa của từ sao cho các từ gần nhau hơn trongkhông gian vector được dự kiến có ý nghĩa tương tự nhau
Cách tiếp cận này dé biéu diễn các từ và tài liệu có thể được coi làmột trong những bước đột phá quan trọng của học sâu đối với các vấn đề
xử ly ngôn ngữ tự nhiên đầy thách thức Những ưu điểm vượt trội của
Word embedding so với các cách biểu diễn từ khác như one-hot encoding
hay biểu diễn mỗi từ bang một số riêng như khả năng tính toán, lưu trữ, ý
nghĩa ngữ nghĩa, độ khái quát.
FastText và PhoW2V là hai bộ nhúng từ được lựa chọn để sử dụng
cho bước nhúng từ FasText là một phương pháp word embedding, là một
10
Trang 23mở rộng của mô hình word2vec, được phát triển bởi Grave và các cộng
sự [1] Thay vì học các véc-tơ cho các từ trực tiếp, fastText biéu diễn mỗi
từ như một n-gram các thuộc tính Ví dụ, từ apple với n=3, fastText biểudiễn từ này là <ap, app, ppl, ple, le>, trong đó dau đóng mở ngoặc được
xem như ký tự bắt đầu và kết thúc của từ Cách biểu diễn này lấy được ý
nghĩa của các từ ngắn hơn và cho phép embedding hiểu các tiền t6 và hậu
tố Một khi từ được biểu diễn sử dung n-gram, một mô hình skip-gram
được huấn luyện để học các embedding FastText hoạt động hiệu quả vớicác từ hiếm gặp, nên nếu một từ không được thấy trong lúc huấn luyện,
nó có thê chia từ thành n-gram và có embedding
PhoW2V cung cấp bộ các embedding Word2Vec cấp độ từ và vần
đã được huấn luyện sẵn cho tiếng Việt, được phát triển bởi Nguyen và cáccộng sự [4] Nó được huấn luyện trên một bộ dữ liệu văn bản tiếng Việtkích thước 20GB Word2vec là một mô hình đơn giản giúp tạo ra các biểudiễn Embedding của từ trong một không gian có số chiều thấp hơn nhiềulần so với số từ trong từ điển Theo Word2vec, hai từ xuất hiện trongnhững văn cảnh giống nhau thì có ý nghĩa gần với nhau Ngoài ra, có thé
đoán được một từ nếu biết các từ xung quanh nó trong câu Ví dụ, với câu
"Hà Nội là của Việt Nam" thì từ trong dấu ba chấm được mô hìnhword2vec xây dựng sao cho xác suất dé từ trong dau ba cham là cao nhất,
từ đó là "thủ đô" Embedding được huấn luyện sẵn PhoW2V cấp độ từ có
kích thước 300 được sử dụng cho bước word embedding của bài toán phát hiện bình luận xúc phạm này.
2.2.3.2 Công tai Unit (Gated Recurrent Units)
Gated Recurrent Units (GRU) có mục dich giải quyết van dé
gradient biến mat xuất hiện trong mang thần kinh hồi quy (Recurent
Neural Networks) GRU cũng có thể được coi là một biến thể của LSTM
bởi vì cả hai cùng được thiệt kê tương tự va trong một vài bài toán cho ra
11
Trang 24các kết quả bằng nhau Tuy nhiên, GRU có một kiến trúc đơn giản hơn.
Nó không có một nhân trang thai C_t như LSTM.
Hình 2.3: So sánh kiến trúc của một đơn vị LSTM với GRU (Nguồn:
tutorialexample.com)
GRU str dung céng update va céng reset dé quyét dinh thong tin
nao nên được truyền đến đầu ra Đặc biệt, chúng có thé được huấn luyện
để giữ lại thông tin, mà không làm mất hay loại bỏ những thông tin không
liên quan đên dự đoán.
Công update tính toán thông tin từ đơn vị phía trước và giá trị đầu
vào, được xem như là bộ nhớ dài hạn Công thức công này tương tự
Uz, = Ø(X, *)X¿ * Uy + H,_¡ * Wy)Trong đó, Uy và W⁄, là các ma trận trọng số gan với X; và H,_
Công reset được sử dụng giúp mô hình xác định bao nhiêu thông
tin trong quá khứ cần quên đi (loại bỏ) Công này cũng nhận thông tin đầu
vào là từ đơn vi trước nó va dir liệu đâu vào Nó có công thức
T, = 0(%¿ * Uy + H,_¡ * W,)
Trong đó, U, và W, là các ma trận trọng sô gan với x, và H,_; Ket
qua của r¿ sẽ nằm trong khoảng 0 đến 1 giống như của công update
12
Trang 25Để tìm Trạng thái ân H, trong GRU, nó tuân theo quá trình hai
bước Đầu tiên, nó sinh ra trạng thái ân ứng viên, có công thức như sau
H, = tanh(x, * Ug + (%° He-1) * W,)
Nó lấy đầu vào và trang thái ấn từ nhân phía trước nhân nhân vớiđầu ra cổng reset r; Sau đó, đưa toàn bộ thông tin vào ham tanh Phanquan trọng nhất của phương trình này là cách chúng ta sử dụng giá trị củacông reset dé kiểm soát mức độ ảnh hưởng của trạng thái ân trước đó cóthé có đối với trạng thái ứng viên Nếu giá trị của 7, băng 1 thì có nghĩa
toàn bộ thông tin của trang thái ấn H,_, được xem xét Ngược lại r; bang
0 có nghĩa thông tin hoàn toàn bị loại bỏ.
Trạng thái ứng viên được sử dụng để tạo ra trạng thái ấn hiện tạiH,_; Thay vi dùng một cổng riêng như LSTM, GRU sử dụng một côngcập nhật duy nhất dé kiểm soát thông tin trong lịch sử, H,_;, cũng như
thông tin mới từ trạng thái ứng viên, A.
A, = u¿ * H, ¡ + (1 — tu) * A,
Nếu giá tri U; tiễn dần về 0 thi số hạng thứ nhất tiễn dần về không,
có nghĩa lượng thông tin từ quá khứ càng ít trong khi lượng thông tin hiện
tại, ,, càng nhiều, càng quan trọng và ngược lại
2.2.3.3 Long Short Term Memory (LSTM)
Long short-term memory là một loại mạng nơ-ron hồi quy cải tiến
có khả năng lưu giữ thông tin (dai hạn hoặc ngắn han) Nó có khả năng
giải quyết van dé gradient biến mat thường gặp bởi mạng nơ-ron hồi quy
Mạng nơ-ron hồi quy có thê ghi nhớ thông tin trước đó và sử dụng chúng
cho quá trình xử lý của đầu vào hiện tại, nhưng không thể ghi nhớ các sự
phụ thuộc dài hạn do vấn đề gradient bién mat
13
Trang 26Về kiến trúc, LSTM bao gồm ba phần hay còn gọi là ba công, đólà: Công Forget, công Input, công Ouput.
Hình 2.4: Kiến trúc một đơn vị của LSTM (Nguồn: theaidream.com)
Công Forget xác định có bao nhiều lượng thông tin từ trạng thái
trước đó cần được giữ lại Công Forget có công thức như sau:
fe = 0Œ * Ur + H,_¡ * Wr)
Trong đó, x; là đầu vào hiện tai, Uy là trong số ứng với đầu vào,H,_¡ là trạng thái an phía trước đó, W là ma trận trọng số ứng với trạng
thái ân Một hàm sigmoid được áp dụng, kết quả đầu ra sẽ là giá trị nằm
trong khoảng 0 đến 1 Giá trị ƒ; sau đó sẽ được nhân với trạng thái nhântrước đó C,_, Kết quả của phép nhân càng tiến đến 0 có nghĩa lượngthông tin mà LSTM quên đi sẽ rất lớn, bằng 0 có nghĩa quên mọi thứ Mặtkhác, khi kết quả phép nhân càng tiến tới gia trị của Œ,_¡ thì LSTM cànggiữ lại nhiều thông tin, bằng Œ¿_; có nghĩa giữ lại toàn bộ thông tin ở bước
trước do.
Cổng Input có học thông tin mới từ đầu vào của nhân, hay nó định
lượng sự quan trọng của thông tin mới được mang vào bởi đầu vào Côngthức của cong input là
14
Trang 27truyền qua một hàm số của một trạng thái ấn bước trước đó va đầu vào
hiện tại Hàm kích hoạt ở đây là tanh.
N, = tanh (x, * U„ + H,_¡ * Wo)
Thông tin mới sẽ năm giữa -1 va 1 Nếu giá tri của N_t âm thithông tin bị trừ đi và nếu giá trị dương thì thông tin được cộng thêm ởnhân trạng thái hiện tại Thông tin không được cộng trực tiếp vào nhân
trạng thái mà cộng theo công thức cập nhật
Ce = fe * Crit ip * M
Trong đó, C,_, là trạng thai nhân hiện tai.
Công Ouput truyền thông tin được cập nhật từ trạng thái hiện tại
đến trạng thái tiếp theo Công thức của công Ouput:
Trang 282.2.3.4 Mạng thần kinh hồi quy hai chiều (Bi-directional Recurrent
Neural Networks)
Bi-directional Recurrent Neural Networks (Bi-RNN) là sự kết hợpcủa hai RNN - một RNN di chuyên tới, bắt đầu từ đầu chuỗi dữ liệu vàmạng kia di chuyên lùi, bắt đầu từ cuối chuỗi đữ liệu Dựa trên cơ chếnay, BiRNN có thé lấy thông tin từ trạng thái quá khứ (chuyến tới) và
tương lai (lùi lại) cùng một lúc.
Không giống như các RNN tiêu chuẩn, BiRNN được huấn luyện
dé dự đoán đồng thời cả hướng tích dương và âm đồng thời BiRNN chia
các nơ-ron của RNN thông thường thành hai hướng, một hướng cho các
trạng thái tiễn (hướng thời gian dương) và một hướng khác cho các trạng
thái lùi (hướng thời gian âm) Cả hai trạng thái đầu ra này đều không đượckết nối với đầu vào của các hướng ngược lại Bằng cách sử dụng đồngthời hai hướng thời gian, dữ liệu đầu vào từ quá khứ và tương lai củakhung thời gian hiện tại có thé được sử dụng để tính toán cùng một đầu
ra Điều này ngược lại với các RNN tiêu chuẩn yêu cầu một lớp bổ sung
dé bao gồm thông tin trong tương lai
tục chung cho huấn luyện như sau: Với truyền về phía trước: trạng thái
phía trước và phía sau được truyền đầu tiên, sau đó các nơ-ron đầu ra được
truyên Với truyén về sau, các nơ-ron đâu ra được truyền đâu tiên, sau đó
16
Trang 29các trang thái trước và sau được truyền tiếp theo Sau khi thực hiện xong
hai bước truyện, các trọng sô được cập nhật.
Có thê thay đôi các nhân dé tạo ra các biến thé của BiRNN Vi du,nếu thay các nhân RNN thành LSTM, chúng ta có biến thé BiLSTM va
tương tự với BiGRU.
2.2.3.5 Mang nơ-ron tích chap (Convolutional Neural Networks)
Text-CNN là một lớp phương pháp học sâu đã va dang dat những
kết quả cao trong bài toán thị giác máy tính và phân loại ảnh CNN có ba
kiểu lớp chính, đó là lớp convolutional, lớp pooling và lớp fullyconnected Với mỗi lớp, CNN tăng độ phức tạp của nó, xác định các phầnlớn hơn của hình ảnh đầu vào Khi dit liệu hình ảnh tiến triển qua các lớpcủa CNN, nó bắt đầu nhận ra các phần tử hoặc hình dạng lớn hơn của đốitượng cho đến khi cuối cùng xác định được đối tượng được dự định
Lớp convolutional là khối xây dựng cốt lõi của CNN và nó là nơidiễn ra phần lớn quá trình tính toán Nó yêu cầu một vài thành phần, đó
là đữ liệu đầu vào, một filter và một feature map Gia sử rang dau vao sé
là một hình anh mau, được tao thành từ ma trận các pixel trong 3D Điềunày có nghĩa là đầu vào sẽ có ba kích thước (chiều cao, chiều rộng và
chiều sâu) tương ứng với RGB trong một hình ảnh Một convolution là
một phép toán tuyến tính bao gồm phép nhân của một tập các trọng số vớiđầu vào, giéng như mang nơ-ron truyền thống Với một bức anh RGB,phép nhân được thực hiện giữa một mảng đữ liệu đầu vào (mỗi kênh trong
ba kênh RGB) với một mảng hai chiều các trọng số, mảng này được gọi
là filter hay một kernel Filter này nhỏ hơn đữ liệu đầu vào và phép nhânđược thực hiện là tích vô hướng, phép tính luôn cho ra số duy nhất Vìkích thức của filter nhỏ hơn so với dữ liệu đầu vào nên filter sẽ được trượt
đi khắp bức ảnh đầu vào sao cho nó quét hết toàn bộ bức ảnh Phép toánnày sẽ làm giảm kích thức các kênh của ảnh lại, trích xuất các đặc trưng,
thông tin quan trọng trong ảnh đó Quá trình này được gọi là một tích
17
Trang 30chập Đầu ra của lớp convolution là một ma trận được gọi convolutedfeature hay input feature map Đối với bức ảnh RGB, sẽ có ba input
feature map ứng với ba kênh.
Hình 2.6 Lớp convolutional trích rút đặc trưng với filter có kích thước 3x3 và độ dai
trượt băng 1 (Nguôn: davidsbatista.net)
Lớp Pooling, hay còn gọi downsampling, thực hiện việc làm giảm
số chiều, giảm số các tham số ở đầu vào Tương tự với lớp convolutional,pooling quét một filter qua toàn bộ đầu vào, nhưng khác biệt là filter này
không có các trọng số Kernel áp dụng một hàm tập hợp cho các giá trịtrong các vùng được quét, điền giá trị vào mảng đầu ra Với bức ảnh RGB,
cũng sẽ có một đầu ra ở mỗi kênh của nó Lớp pooling có thể bỏ qua nhiều
thông tin, nhưng nó có những lợi ích như giảm độ phức tạp, tăng năng
suất, và giảm overfitting Có hai loại pooling chính:
- max pooling: Khi bộ lọc di chuyển qua đầu vào, nó sẽ chọn pixel có giá
trị lớn nhất để gửi đến mảng đầu ra Ngoài ra, phương pháp này có xu
hướng được sử dụng thường xuyên hơn so với cách gộp trung bình.
- average pooling: Khi bộ lọc di chuyển qua đầu vào, nó sẽ tính toán giá trị
trung bình trong trường tiếp nhận đề gửi đến mảng đầu ra
Lớp Fully connected kết nối các kết quả dau ra của lớp trước đó
các giá trị pixel của hình anh đầu vào không được kết nối trực tiếp với lớp
đầu ra trong các lớp được kết nối từng phần Tuy nhiên, trong lớp fully
18
Trang 31connected, mỗi nút trong lớp đầu ra kết nối trực tiếp với một nút trong lớp
trước đó Lớp này thực hiện nhiệm vụ phân loại dựa trên các đặc trưng
được trích xuất qua các lớp trước đó và các bộ lọc khác nhau của chúng
Trong khi các lớp tích hợp và tổng hợp có xu hướng sử dụng các hàmReLu, các lớp fully connected thường sử dụng hàm kích hoạt softmax déphân loại đầu vào một cách thích hợp, tạo ra xác suất từ 0 đến 1
Average Pooling Max Pooling
Hình 2.7: Ví dụ lớp pooling với độ dài trượt bằng 2
Với các bài toán trong xử lý ngôn ngữ tự nhiên, thay vì đầu vào là
các ảnh có nhiều chiều, chỉ có một mang | chiéu biéu dién van ban Y
tưởng của CNN vẫn giữ nguyên, chi can thay đổi số chiều cua các filtertrong các lớp convolutional va pooling dé phù hợp với dit liệu đầu vào
Ví dụ, dữ liệu đầu vào là một véc-tơ thì các filter cũng là các véc-tơ chứ
không còn là ma trận như trong bài toán xử lý ảnh.
19
Trang 322.3. Phương pháp kiểm định giả thuyết
2.3.1 Phân tích phương sai (ANOVA)
Phân tích phương sai Analysis of Variance (ANOVA) [14] là một kiểmđịnh thống kê do Ronald Fisher phát triển vào năm 1918 và được sử dụng cho
đến nay Nói một cách ngắn gọn, ANOVA cho chúng ta biết liệu có sự khác biệt
đáng ké nào giữa kỳ vọng của hai hoặc nhiều nhóm độc lập hay không Cũnggiống như các kiểm định thống kê khác, ANOVA cũng sử dụng hai giả thuyết:Giả thuyết Null và Giả thuyết Thay thé Giả thuyết null trong ANOVA đúng khi
tat cả các kỳ vọng mẫu đều bằng nhau, không có sự khác biệt đáng kể giữa các
kỳ vọng Mặt khác, nếu ít nhất một trong các kỳ vọng mẫu khác với các kỳ vọngcòn lại, thì gia thuyết Thay thé là đúng
Có hai loại kiểm định phương sai chính đó là một yếu tố (factor, way) và hai yếu tố (two-factor, two-way) Cụ thê như sau:
one-Kiểm định phương sai một yếu tô có một biến độc lập hay yếu tố Loạikiểm định này sẽ kiểm tra nêu có sự khác biệt giữa các cấp độ hay nhómkhác nhau trong yếu tô đó
Kiểm định phương sai có hai hoặc nhiều hơn các yếu tổ hay biến độc lập.Với loại kiểm định này, giả thuyết sẽ là kiểm tra xem có sự khác nhau
đáng kể giữa các cấp độ trong một yếu tố hai không và kiểm tra có sự
tương tác nào giữa hai yêu tô đó hay không
Một vài ví dụ sử dung phân tích phương sai:
Một nhóm các bệnh nhân tâm thần đang thử ba phương pháp trị liệu khácnhau: tư van tâm lý, uống thuốc và phản ứng sinh học Người ta muốnxem liệu có phương pháp nào tốt hơn hai phương pháp còn lại hay không
Một nhà máy sản xuất có hai quá trình dé tạo bóng đèn Họ muốn biết quá
trình nào tôt hơn so với còn lại.
20
Trang 33- Baloai phân bón mới được phát triên dé tang năng suât cây trong va người
sản xuât phân bón đó muôn hiêu loại phân bón nào là hiệu quả nhât cho lúa mì, ngô, đậu nành và gạo.
2.3.2 Phân tích phương sai hai yếu tố có lặp (two-factor ANOVA with
replication)
Trong phân tích phương sai hai yếu tố có thé có lặp lại hoặc không.ANOVA hai yếu tố có lặp (two-factor ANOVA with replication) [15] ở đây cónghĩa với mỗi sự kết hợp của các yếu té thì có bao nhiêu mẫu, hay những sự lặplại đó được thí nghiệm lay mẫu bao nhiêu lần Nếu chi có một mẫu với mỗi sự
kết hợp của các yếu té thì đây là phân tích phương sai hai yếu tố không lặp lại
Mặt khác, nếu có nhiều hơn hai mẫu với mỗi sự kết hợp của các yếu tô thì đây
là phân tích phương sai hai yếu tố không lặp lại
Với ví dụ thử nghiệm phân bón với các loại cây trồng ở mục trước Haiyếu tô trong phân tích là loại phân bón và các loại cây trồng Yếu tổ loại phân
bón có ba nhóm đó là ba loại phân bón được phát triển, trong khi yếu tố loại cây
trồng có ba nhóm đó là lúa mì, ngô, đậu nành và gạo Ba loại phân bón được
kiểm thử trên bốn loại cây trồng, điều này tạo ra 12 kết hợp và 12 kết hợp nàyđược gọi là một mẫu Với kiểm định có lặp, người sản xuất sẽ kiêm thử với nhiều
hơn là một mâu.
ANOVA hai yếu tố có lặp sẽ tính một ảnh hưởng chính và một ảnh hưởng
tương tác Ảnh hưởng chính tương tự như ANOVA một nhân tố của ảnh hưởngcủa mỗi nhân tố riêng lẻ Với vi dụ trên, sẽ có hai ANOVA một yếu tố được tínhcho hai biến độc lập là loại phân bón và loại cây trồng Với ảnh hưởng tương tác,toàn bộ các nhân tố được xem xét một lúc Giả thuyết Null cho kiểm định anh
hưởng giữa các yếu tố này là các yếu tố là độc lập hay tương tác giữa chúng
không tồn tại
21
Trang 342.3.3 Phân tích hậu định Tukey’s HSD
Hạn chế của ANOVA là nó chi cho chúng ta biết liệu có sự khác biệt giữa
các kỳ vọng của các nhóm độc lập hay không, nó sẽ không chỉ ra cụ thể nhómnao khác với những nhóm khác Do đó, phân tích hậu học định là cần thiết trongtình huống này Kiểm định HSD (honestly significant difference) của Tukey [16]được sử dụng như một phân tích tiếp nối cho ANOVA hai yếu tổ có lặp Đây làquy trình so sánh nhiều bước đơn và kiêm định thống kê Nó có thé được sử dụng
để tìm các kỳ vọng khác biệt đáng ké với nhau
Sau khi kiêm định ANOVA được tiến hành, giả sử giá trị F đáng ké thiphân tích hậu định được tiến hành Phân tích sẽ so sách các cặp kỳ vọng của cácnhóm trong yếu tố cần được phân tích hậu định Những cặp nào có khoảng cách
giữa các kỳ vọng lớn sẽ có sự khác biệt lớn Kiểm định Tukey's HSD còn chỉ ra
sự khác biệt đó có ý nghĩa thông kê hay chỉ là ngẫu nhiên
2.4 Event stream processing và các nên tảng cho Event stream processing
2.4.1 Dữ liệu streaming
Thuật ngữ "streaming" được sử dụng dé mô tả các luồng dt liệu liên tục,không bao giờ kết thúc, không có đầu hoặc cuối, cung cấp nguồn cấp dữ liệu liêntục có thé được sử dụng hoặc hoạt động mà không cần tải xuống trước
Dữ liệu streaming (streaming data) là dtr liệu mà được tạo ra liên tục bănghàng nghìn nguồn khác nhau, thường được gửi đi đồng thời theo dạng các bảnghi và có kích thước nhỏ Dữ liệu streaming rat đa dạng như các logfile được tạo
ra bởi khách hàng khi sử dụng ứng dụng di động hoặc web, các mua bán thương mại điện tử, các hoạt động của người chơi trong các trò chơi, hay các thông tin
từ các nền tảng mạng xã hội, thông tin thay đổi thị trường chứng khoán, hoặc dữ
liệu từ các thiết bị Internet of Thing, vân vân
Những dé liệu đó cần được xử lý tuần tự và từng bước theo các bản ghi
hoặc theo các khoảng thời gian (sliding time windows) Thông tin rút ra từ những
22
Trang 35phân tích đó cung cấp cho các công ty, người dùng tầm nhìn về nhiều khía cạnh
kinh doanh như mức sử dụng dịch vụ, ứng dụng, các hoạt động chủ yếu (thói
quen) người dùng, hay các xu hướng trên mạng xã hội, xu hướng nao là tiêu cực
và cần loại bỏ, hoặc thông tin thay đôi trên thị trường tài chính thời gian thực dé
từ đó tính toán giá tri rủi ro và từ động cân đối lại đầu tư, hay là các dữ liệu từ
cảm biến trên các thiết bị để từ đó đưa ra các dự đoán hay phát hiện những khiếmkhuyết tiềm tang dé tránh thiết bi hỏng, chết, và nhiều ứng dụng khác
2.4.2 Event stream processing
Event stream processing hoặc real-time data streaming hay stream
processing là quá trình xử ly liên tục đữ liệu thời gian thực một cách trực tiếp
ngay khi nó được tạo ra hoặc nhận.
Trong không gian mạng xã hội, các trường hợp ngôn từ kích động thù
địch trên mạng xã hội tiếp tục gia tăng, nhu cầu theo dõi thời gian thực các bàiđăng, bình luận đề nhanh chóng đưa ra các hành động xử lý những xúc phạm đó
là quan trọng hơn bao giờ hết Dưới áp lực đó, các nền tảng truyền thông xã hội
cần tạo ra các công cụ dé có thé xử lý khói lượng dữ liệu khong 16 duoc tao ra
một cách nhanh chong và hiệu quả, đặc biệt là để ngăn chặn bình luận xúc phạm
2.4.3 Nền tảng Apache Kafka
Apache Kafka là một nền tảng xử lý event streaming phân tán mã nguồn
mở Nó cung cấp luéng đi dit liệu có hiệu suất cao, phân tích streaming, tích hop
dữ liệu Các khả năng cốt yếu của Apache Kafka là gửi các tin nhắn ở thônglượng giới hạn sử dụng một nhóm các máy với độ trễ thấp tới 2 mili-giay, lưutrữ các dữ liệu streaming an toàn trong một cụm phân tán, ôn định và ít chịu lỗi;
mở rộng các cụm sản phẩm lên đến hàng nghìn broker, hàng triệu tin nhắn gửimỗi ngày, hàng trăm mảnh, cung cấp khả năng xử lý và lưu trữ lớn
Hệ thống Kafka xử lý các luồng sự kiện sử dụng xử lý chính xác và ngaylập tức Kafka có thê kết nối các thành phần hệ thống, các nguồn sự kiện Ngoài
ra, nó có thê đọc, ghi, va xử lý các luông dữ liệu băng nhiêu ngôn ngữ khác nhau.
23
Trang 36Kafka là một hệ thong gửi, nhận tin nhắn, lưu trữ các tin nhắn phân tán.Những thành phần chính câu tạo nên Kafka được trình bày như hình trên Các
tin nhắn (hay dữ liệu) từ đầu vào sử dung Producer để ghi các tin nhắn vào Kafka
Topic Kafka topic là nơi lưu trữ các tin nhắn, các Topic này được phân thànhnhiều mảnh (Partition) cung cấp khả năng lưu trữ phân tán Sau đó, Consumerđọc những tin nhắn từ các Topic đề gửi đi hay chính là đầu ra của hệ thống Sauđây trình bày chỉ tiết hơn cách thành phần chính của Kafka
Hình 2.§: Quá trình gửi nhận tin nhắn của Kafka
Kafka Consumer & Producer: Consumer va Producer là các ham cho
phép viết và doc những tin nhắn theo thứ tự trong các Topic Hai ham nay chính
là các phương thức cốt lõi truyền đữ liệu của Kafka
Kafka Broker: Một host (máy) có thể chạy nhiều server kafka, mỗi
server như vậy được gọi là một broker Broker là nơi chứa các partition và topic.
Các broker trong server này kết nối chung tới một zookeeper, và được gọi là cụm
broker (Clusters).
Kafka Topic: Một topic là một loại do người dùng định nghĩa ma ở đó
các tin nhắn (message) được lưu trữ và đọc, ghi các tin nhắn từ đây Các topicbao gồm một hoặc nhiều partition, các chuỗi tin nhắn có thứ tự, không đổi màKafka nối thêm vào Mỗi tin nhắn trong một topic được gán cho ID duy nhất,
tuần tự được gọi là một offset.
24