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

Khóa luận tốt nghiệp Khoa học dữ liệu: Phát hiện bình luận xúc phạm ngôn ngữ tiếng Việt trên mạng xã hội trong dữ liệu trực tuyến

73 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 đề Phát hiện bình luận xúc phạm ngôn ngữ tiếng Việt trên mạng xã hội trong dữ liệu trực tuyến
Tác giả Võ Hồng Phúc Hạnh, Nguyễn Hoàng Huy
Người hướng dẫn TS. Đỗ Trọng Hợp
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Khoa học dữ liệu
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 73
Dung lượng 36,11 MB

Nội dung

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 3

THÔ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 4

LỜ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 5

Chươ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 6

2.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 7

2.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 8

5.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 9

DANH 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 10

Hì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 11

Vi 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 12

DANH 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 13

TÓ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 14

Chươ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 15

phá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 16

1.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 17

1.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 18

Chươ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 19

RDRSegmenter 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 20

có 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 21

Thư 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 22

min„||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 23

mở 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 24

cá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 26

Về 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 27

truyề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 28

2.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 29

cá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 30

chậ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 31

connected, 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 32

2.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 34

2.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 35

phâ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 36

Kafka 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

Ngày đăng: 23/10/2024, 01:51