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

phát triển một hệ thống tự động để phát hiện và gắn nhãn các bình luận có nội dung phân biệt chủng tộc và giới tính trên twitte

35 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 triển một hệ thống tự động để phát hiện và gắn nhãn các bình luận có nội dung phân biệt chủng tộc và giới tính trên Twitter
Tác giả Trần Đào Mai Tuyết, Trần Ngọc Thanh, Nguyễn Lê Hà Phương
Người hướng dẫn TS. Trần Đình Anh Huy
Trường học Trường Đại học Khoa học Xã hội và Nhân văn
Chuyên ngành Khoa học dữ liệu ứng dụng
Thể loại Báo cáo cuối kỳ
Năm xuất bản 2024
Thành phố Hồ Chí Minh
Định dạng
Số trang 35
Dung lượng 5,26 MB

Cấu trúc

  • CHƯƠNG 1: THIẾ T L ẬP MÔI TRƯỜ NG VÀ MÔ HÌNH HÓA BÀI TOÁN (5)
    • 1. Phần c ng và ph n m m ứ ầ ề (0)
    • 2. Bộ d u ữ liệ (5)
    • 3. Mô hình hóa bài toán (6)
  • CHƯƠNG 2: CƠ SỞ LÝ THUY T LIÊN QUAN Ế (0)
    • 1. Bài toán phân loại đa nhãn trong máy học (8)
    • 2. Các thuật toán/Phương pháp sử dụng (9)
    • 3. Các phương pháp đánh giá (11)
  • CHƯƠNG 3: TRIỂN KHAI VÀ K T QU TRI N KHAI Ế Ả Ể (0)
    • 1. Xử lý d ữ liệu để tìm ra điểm chung c a các tweet có n i dung ph ủ ộ ản cảm (13)
    • 2. Dashboard tương tác (15)
    • 3. Tiền x ử lý trướ c khi hu n luy n mô hình ấ ệ (0)
    • 4. Xây d ng, hu ự ấn luyện và đánh giá các mô hình (0)
      • 4.1. M ng RNN truy n th ạ ề ống (17)
      • 4.2. M ng RNN hai chi u ạ ề (20)
      • 4.3. M ng RNN sâu ạ (22)
      • 4.4. M ạng RNN đa tầng như LSTM và GRU (24)
      • 4.5. Đánh giá tổ ng th ể (28)
    • 5. Ứ ng d ng gán nhãn Tweet ...................................................................... 29 ụ CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRI NỂ (29)
    • 1. K t lu ế ận chung (32)
    • 2. Hướng phát tri n ể (32)

Nội dung

Các phương pháp đánh giá .... Input: Dữ liệu đầu vào là các đoạn văn bản đã được làm s ch t hai ngu n là ạ ừ ồTwitter và Reddit... Các phương pháp đánh giá Các mô hình được đánh giá qua

THIẾ T L ẬP MÔI TRƯỜ NG VÀ MÔ HÌNH HÓA BÀI TOÁN

Bộ d u ữ liệ

Dùng cho d án là m t b dự ộ ộ ữ liệu đượ ấc l y trên Kaggle, một nền t ng chuyên ả cung c p các bấ ộ dataset được xây d ng, hu n luy n và có thự ấ ệ ể là được ti n xề ử lý sẵn ph c v nhu c u khai phá tiụ ụ ầ ềm năng dữ liệu c a củ ộng đồng các nhà nghiên cứu trên toàn th ếgiớ ới đại đa số là dữ liệu mã nguồn mở ! i v Đây là một nguồn dữ liệu được sử dụng cho phân tích tình cảm trên các bài viết trên Twitter và Reddit Đây là một phần của nghiên cứu phân tích ngữ cảm (sentiment analysis), một lĩnh vực c a khoa h c d ủ ọ ữliệu và học máy, nơi các thuật toán được s dử ụng để xác định, trích xuất và định lượng các thông tin c m xúc t ả ừ văn bản

Mô t ả cơ bản của b d ộ ữliệu:

Tên b d u: Twitter and Reddit Sentimental Analysis Dataset ộ ữliệ

Ngu n d ồ ữliệu: D ữliệu được thu th p t hai n n t ng ph ậ ừ ề ả ổbiến là Twitter và Reddit Các t p d u: ệ ữliệ

Cấu trúc d ữliệu: Đối với Twitter_Data.csv, b d ộ ữliệu thường bao g m các cồ ột như clean_text chứa nội dung tweet đã được làm sạch và category phân lo i tình c m cạ ả ủa tweet đó (ví dụ: -1 cho tình c m tiêu c c, 0 cho trung l p và 1 cho tích cả ự ậ ực). Đối với Reddit_Data.csv, cấu trúc tương tự với cột clean_comment cho n i dung ộ bình lu n và category cho phân lo i tình cậ ạ ảm.

Mô hình hóa bài toán

Loại bài toán: Phân l p (Classification) ớ

K ch bị ản s d ng h ử ụ ệthống: Từ b d ộ ữliệu được h p nh t, h ợ ấ ệthống s n hành ẽtiế huấn luy n các mô hình hệ ọc máy sau đó lưu lại các mô hình để tiến hành đánh giá, kiểm th trên bộ d liệu tweet m i và xây d ng mử ữ ớ ự ột ứng dụng console đơn giản cho phép người dùng chọn model → nhập Tweet → chờ hệ thống gán nhãn Ngoài ra 1 dashboard tương tác sẽ được xây d ng trên nự ền t ng Web cho phép ả người dùng hiểu hơn về dữ liệu

Input: Dữ liệu đầu vào là các đoạn văn bản đã được làm s ch t hai ngu n là ạ ừ ồ Twitter và Reddit Những đoạn văn bản này được bi u diể ễn dướ ại d ng chu i ký ỗ tự và sau đó được chuyển đổi thành d ng s hóa thông qua quá trình tokenization ạ ố và padding để phù h p vợ ới đầu vào c a mủ ạng nơ-ron

Output: Đầu ra là nhãn c a tủ ừng đoạn văn bản, được phân lo i thành các hạ ạng mục tương ứng v i tình c m bi u hi n: tiêu c c, trung l p, và tích cớ ả ể ệ ự ậ ực.

Các mô hình được áp d ng bao gụ ồm:

RNN truy n th ng (Traditional RNN) ề ố

RNN hai chi u (Bidirectional RNN) ề

LSTM (Long Short-Term Memory)

M i mô hình s d ng cỗ ử ụ ấu trúc khác nhau để x lý tính tu n t c a d ử ầ ự ủ ữliệu văn bản, với m c tiêu là hụ ọc được các đặc điểm ngữ nghĩa và ngữ cảnh của từng đoạn văn bản

Phương pháp biểu di n d u ễ ữliệ

Dữ liệu được biểu diễn qua hai bước chính:

Tokenization: Chuyển đổi văn bản thành các token (thường là từ hoặc c m tụ ừ).

Padding: Đảm b o t t c các chuả ấ ả ỗi đầu vào có cùng chiều dài để có thể được x ử lý trong mạng nơ-ron

Các phương pháp đánh giá

Các mô hình được đánh giá qua nhiều phương pháp:

Accuracy: Độ chính xác t ng th c a mô hình trên t p ki m th ổ ể ủ ậ ể ử

Confusion Matrix: Ma tr n cho th y s ậ ấ ố lượng d đoán đúng và sai cho mỗi lớp ự

Classification Report: Báo cáo hi u su t c a mô hình, bao g m precision, recall ệ ấ ủ ồ và F1-score cho m i lỗ ớp

ROC AUC Score: Diện tích dưới đường cong ROC, đo lường kh ả năng phân biệt của mô hình gi a các lữ ớp

ROC Curve: Đường cong hi n th m i quan hể ị ố ệ giữa t lỷ ệ dương tính giả và t l ỷ ệ dương tính thật tại các ngưỡng phân lo i khác nhau ạ

Các k t qu ế ảhuấn luy n và ki m th ệ ể ử được trực quan hóa thông qua các đồ thị, giúp nhìn nhận rõ ràng hơn về hiệu su t và s ấ ựtiến b c a mô hình qua t ng epoch huộ ủ ừ ấn

CƠ SỞ LÝ THUY T LIÊN QUAN Ế

Bài toán phân loại đa nhãn trong máy học

Bài toán phân l p (classification) trong h c máy là m t trong nhớ ọ ộ ững bài toán cơ bản nhất, trong đó mục tiêu là d ự đoán nhãn (label) của một m u d u d a trên ẫ ữliệ ự các thu c tính (features) cộ ủa nó Nhãn này thường là h u h n và r i r c, ví d ữ ạ ờ ạ ụ như phân bi t giệ ữa thư và không phải thư (spam or not spam) hoặc phân lo i hình nh ạ ả của các loài động vật

Các bước chính trong gi i quy t bài toán phân lả ế ớp:

Thu th p dậ ữ liệu: Là bước đầu tiên trong quá trình xây d ng mô hình phân l p, ự ớ bao g m vi c thu th p d u thô và ti n x lý d ồ ệ ậ ữliệ ề ử ữliệu đó

Tiền x lý d ử ữliệu: Bao g m làm s ch d ồ ạ ữliệu, ch n lọ ọc các đặc trưng, chuyển đổi dữ liệu sang d ng phù hạ ợp để xử lý

Chia tách dữ liệu: Phân chia dữ liệu thành các t p hu n luy n (training set) và ậ ấ ệ kiểm th (test set) ử

Xây d ng mô hình: Sự ử ụ d ng các thu t toán hậ ọc máy để học các m i quan h ố ệgiữa đặc trưng và nhãn từ dữ liệu hu n luyấ ện Đánh giá mô hình: Sử dụng các phương pháp như accuracy, precision, recall, F1- score, và ROC AUC để đánh giá hiệu quả của mô hình trên t p d u ki m th ậ ữliệ ể ử

Tối ưu và hiệu chỉnh mô hình: D a trên k t qu ự ế ả đánh giá, điều chỉnh các tham số của mô hình để cải thi n hi u suệ ệ ất

Mô hình hoá dữ liệu chu i: RNN có th mô hình hoá dỗ ể ữ liệu d ng chu i, ch ng ạ ỗ ẳ hạn như văn bản hoặc chuỗi thời gian, bằng cách sử dụng thông tin liên t c qua ụ thời gian Điều này làm cho RNN tr ở nên lý tưởng để x lý các bài toán phân lử ớp với d ữliệu chuỗi

Xử lý ph thu c xaụ ộ : RNN được thiết kế để ử x lý các phụ thuộc xa, nơi mà các sự kiện xảy ra ở các thời điểm trước đó có ảnh hưởng đến kết qu ảhiện t ại.

Các thuật toán/Phương pháp sử dụng

Mạng Nơ-ron H i Quy (Recurrent Neural Networks - RNN) là m t l p c a m ng ồ ộ ớ ủ ạ nơ-ron nhân tạo, nơi các kết n i gi a các nút tố ữ ạo thành một chu trình Điều này cho phép nó truy n dề ữ liệu theo chu i, làm cho RNN phù h p cho vi c x lý và ỗ ợ ệ ử dự đoán dữ liệu chuỗi như ngôn ngữ ự t nhiên ho c dặ ữ liệu chu i th i gian RNN ỗ ờ truy n th ng có khề ố ả năng học được các ph thu c ng n h n Tuy nhiên, chúng ụ ộ ắ ạ thường gặp khó khăn trong việc h c các ph thu c dài do vọ ụ ộ ấn đề biến m t gradient, ấ nơi gradient của lỗi gi m dả ần đến mức không đáng kể trong quá trình học.

RNN hai l p chớ ỉ đơn giản là m t m ng RNN có hai lộ ạ ớp ẩn, nơi đầu ra c a lủ ớp RNN đầu tiên tr ở thành đầu vào c a l p RNN th ủ ớ ứ hai Điều này cho phép mô hình hóa các phụ thuộc ph c tứ ạp hơn và tăng khả năng biểu di n c a mô hình Tuy ễ ủ nhiên, vi c thêm các l p có thệ ớ ể làm tăng nguy cơ xảy ra hiện tượng quá kh p và ớ vẫn còn t n tồ ại vấn đềbiến m t gradient nấ ếu không được xử lý đúng cách.

RNN sâu là m t ki n trúc mộ ế ạng nơ-ron h i quy v i nhi u l p RNN x p ch ng lên ồ ớ ề ớ ế ồ nhau, tạo điều ki n cho vi c h c các bi u di n ph c tệ ệ ọ ể ễ ứ ạp ở ấp độ c khác nhau Cấu trúc này giúp tăng độ sâu c a mô hình và kh ủ ả năng hiểu được các m i quan h và ố ệ cấu trúc ph c tứ ạp trong dữ liệu chu i Vi c thêm nhi u l p RNN cho phép m ng ỗ ệ ề ớ ạ lưu giữ thông tin qua nhiều bước thời gian, nhưng cũng tăng khả năng xảy ra vấn đề ế bi n m t gradient ấ

2.4 RNN đa tầng: LSTM và GRU

LSTM (Long Short-Term Memory): LSTM là m t kiộ ểu RNN được thi t kế ế để tránh vấn đề biến m t gradient LSTM bao g m các cấ ồ ổng điều khi n: c ng quên ể ổ (forget gate), cổng đầu vào (input gate), và cổng đầu ra (output gate) để kiểm soát luồng thông tin, cho phép nó gi l i thông tin quan tr ng trong thời gian dài và ữ ạ ọ quên đi thông tin không cần thiết Điều này làm cho LSTM phù hợp với các ứng dụng c n nhầ ận d ng và d ạ ự đoán dữ liệu chu i có ph thu c dài hỗ ụ ộ ạn

GRU (Gated Recurrent Units): GRU là m t bi n th c a LSTM v i c u trúc ộ ế ể ủ ớ ấ đơn giản hơn GRU kết hợp c ng quên và cổ ổng đầu vào thành m t c ng cộ ổ ập nh t, ậ giảm thi u s ể ố lượng tham s ố và đơn giản hóa mô hình GRU đã chứng minh được hiệu quả tương đương với LSTM trong nhiều tác vụ nhưng với chi phí tính toán thấp hơn.

Các phương pháp đánh giá

Accuracy là t l ỉ ệgiữa s ố lượng d ự đoán đúng và tổng s ố lượng mục được d ự đoán Đây là cách đơn giản nhất để đánh giá hiệu quả của một mô hình, nhưng nó có thể không phù hợp trong các trường h p mà dợ ữ liệu có s mất cân bằng gi a các ự ữ lớp

Precision là t lỉ ệ giữa số lượng dự đoán đúng tích cực (TP) trên t ng s dổ ố ự đoán tích c c (TP + FP, v i FP là False Positives) Precision cao ch ra r ng m t t l ự ớ ỉ ằ ộ ỉ ệ cao các mục được d ự đoán là tích cực th c s là tích cự ự ực.

Recall, còn được g i là sensitivity ho c true positive rate, là t l ọ ặ ỉ ệgiữa s ố lượng d ự đoán đúng tích cực trên tổng số mục thực sự tích cực (TP + FN, với FN là False Negatives) Recall cao ch ra rỉ ằng mô hình đã xác định được ph n l n các mầ ớ ục tích c c th c s ự ự ự

F1-Score là trung bình điều hòa của Precision và Recall, và là một chỉ số hữu ích khi b n c n cân bạ ầ ằng giữa Precision và Recall, đặc biệt là khi có s m t cân bự ấ ằng lớp F1-Score cung c p mấ ột đánh giá tổng th v ể ềhiệu suất mô hình, nơi cả hai giá trị FP và FN cần được ki m soát ể

3.5 Ma tr n Nh m l n (Confusion Matrix) ậ ầ ẫ

Ma tr n nh m l n là m t bậ ầ ẫ ộ ảng thống kê mô tả hiệu su t c a mô hình phân lo i ấ ủ ạ

B n thu t ngố ậ ữ cơ bản c a ma tr n nh m l n là: True Positives (TP), True ủ ậ ầ ẫ Negatives (TN), False Positives (FP), và False Negatives (FN) Ma tr n này giúp ậ phân tích s khác bi t gi a các lự ệ ữ ớp d ự đoán và các lớp thực tế

3.6 ROC và AUC (Receiver Operating Characteristic curve and Area Under the Curve)

ROC Curve là đồ thị hiển thị hiệu suất của mô hình phân loại tại mọi ngưỡng phân loại Đường cong này bi u di n m i quan hể ễ ố ệ giữa TPR (True Positive Rate

- Recall) và FPR (False Positive Rate) tại các ngưỡng khác nhau

AUC đo lường toàn bộ diện tích dưới đường ROC Giá trị AUC càng cao, khả năng phân biệt của mô hình càng t t gi a các lố ữ ớp

Trong ng c nh c a h c máy và mữ ả ủ ọ ạng nơ-ron, thu t ng "loss" hay còn g i là ậ ữ ọ

"cost" đề ập đế c n một hàm s ố được s dử ụng để đo lường mức độ sai l ch gi a giá ệ ữ trị d ự đoán của mô hình và giá tr ịthự ếc t Hàm m t mát là m t thành ph n c t lõi ấ ộ ầ ố trong quá trình hu n luy n, vì nó cung c p mấ ệ ấ ột thước đo về hiệu su t c a mô hình, ấ ủ và quá trình tối ưu hóa mô hình nhằm giảm thiểu giá tr c a hàm m t mát này ị ủ ấ Các lo i hàm Loss ph ạ ổbi n:ế

Binary Crossentropy: Được s d ng trong các bài toán phân lo i nh phân ử ụ ạ ị Đo lường sự khác biệt giữa hai phân phối xác suất: phân phối dự đoán và phân phối th c tế ự (thường là 0 hoặc 1)

Trong đó yi là giá trị nhãn th c t , và ự ế y^i là giá tr d ị ự đoán.

TRIỂN KHAI VÀ K T QU TRI N KHAI Ế Ả Ể

Xử lý d ữ liệu để tìm ra điểm chung c a các tweet có n i dung ph ủ ộ ản cảm

C u trúc dấ ữ liệu Reddit bao g m hai cồ ột tương tự như dữ liệu Twitter: clean_comment chứa n i dung bình lu n, và ộ ậ category v i phân lo i n i dung (-ớ ạ ộ

1 cho ph n c m, 0 cho trung l p, và 1 cho tích cả ả ậ ực).

➔ Bây gi , ta sờ ẽ kế ợt h p hai b dộ ữ liệu và th c hi n l i các phân tích v t khoá ự ệ ạ ề ừ phổ biến (word, bigram, và trigram) để tìm điểm chung v nề ội dung phản cảm từ c hai nguả ồn.

- Chu n hóa tên c t và k t hẩ ộ ế ợp ta được b dộ ữ liệu combined_data.csv có cấu trúc như hình bên dưới

Hình 2 : Kế t qu k t h p d u ả ế ợ ữ liệ Sau khi k t h p, ta s l c và phân tích các bình lu n và tweet ph n c m t d ế ợ ẽ ọ ậ ả ả ừ ữliệu hợp nhất dưới đây là các kết qu cho các t , bigram và trigram phả ừ ổ biến nhất trong n i dung ph n cộ ả ảm:

• "the", "modi", "and", "for", "you", "that", "this", "are", "not", "will", "india",

"have", "with", "but", "they", "has", "all", "was", "people", "from"

Những k t qu này cho th y m t s ế ả ấ ộ ốchủ đề và c m t liên t c xu t hi n trong nụ ừ ụ ấ ệ ội dung ph n cả ảm, đặc biệt là liên quan đến chính tr và cá nhân chính trị ị (như Narendra Modi) Các t và c m t này có th giúp hiừ ụ ừ ể ểu rõ hơn về ngữ ả c nh và nguyên nhân gây ra các phản ứng tiêu c c trong cự ộng đồng m ng ạ

Dashboard tương tác

Dashboard được xây dựng sử dụng Dash, một framework c a Python cho phép ủ tạo các ng dứ ụng web phân tích d u mữliệ ột cách nhanh chóng và hi u qu ệ ả Dashboard bao g m các thành ph n chính sau: ồ ầ

Biểu đồ cột (Bar Chart): Hi n th sể ị ố lượng tweet theo từng loạ ảm xúc Điều i c này giúp người dùng n m bắ ắt được phân b chung c a các c m xúc trong d ố ủ ả ữliệu m t cách nhanh chóng ộ

Word Cloud: Tr c quan hóa các t khóa phự ừ ổ biến nh t trong t p dấ ậ ữ liệu Từ đó giúp người dùng hiểu được các chủ đề nóng hoặc nội dung chung của các tweet mà không c n phầ ải đọc chi ti t tế ừng tweet

B ng dả ữ liệu (Data Table): Cung c p m t cái nhìn chi ti t v dấ ộ ế ề ữ liệu thô, cho phép người dùng xem xét từng mục dữ liệu cụ thể Bảng này có khả năng phân trang để đơn giản hóa quản lý d u lữliệ ớn

Dashboard phân tích tweet này là m t công c hộ ụ ữu ích cho phép người dùng nhanh chóng nh n diậ ện được xu hướng c m xúc và các ch ả ủ đề chính t ừ lượng l n d ớ ữliệu tweet V i sớ ự trợ giúp c a các công nghủ ệ như Dash và Plotly, dashboard không chỉ thể hiện được kh ả năng phân tích mạnh m mà còn có giao di n thân thi n vẽ ệ ệ ới người dùng, phù h p cho c ợ ảnhững người không chuyên

Hình 3 Giao di : ện dashboard tương tác

3 Ti n x ề ử lý trước khi hu n luy n mô hình ấ ệ Đọc và x lý d li u: D liệu được t i t một tập tin CSV, với các văn bản được ử ữ ệ ữ ả ừ đảm bảo là ki u chu ể ỗi.

Tokenization và Padding: Văn bản được chuyển đổi thành chu i s d a trên mỗ ố ự ột từ điển g m 10,000 tồ ừ thường g p nh t Chuặ ấ ỗi sau đó được đệm để có độ dài c ố định là 100

Mã hóa Nhãn: Nhãn được mã hóa t d ng ch sang d ng sừ ạ ữ ạ ố, sau đó được biến đổi thành d ng one-ạ hot để phù hợp v i m c tiêu phân loớ ụ ại đa lớp

4 Xây d ng, hu n luyự ấ ện và đánh giá các mô hình

4.1 M ng RNN truy n thạ ề ống

Dựa trên k t quế ả đạt được, mô hình RNN Truyền Thống có hi u su t t t vệ ấ ố ới độ chính xác kho ng 92.34% Tuy nhiên, mô hình gả ặp khó khăn trong việc phân loại m t s l p ít d u (ví d l p 3 trong báo cáo phân loộ ố ớ ữliệ ụ ớ ại có độ chính xác là 0%)

Hình 4 : Kế t qu mô hình RNN truy n th ng ả ề ố

Ma tr n nh m lậ ầ ẫn cho thấy:

• Lớp -1 (có thể tượng trưng cho nhãn tiêu cực): Có 7097 dự đoán đúng, nhưng cũng có số lượng lớn các tweet bị phân loại nhầm vào lớp 1 (1321 trường hợp) Điều này cho thấy mô hình có khó khăn trong việc phân biệt giữa nhãn tiêu c c và tích cự ực

• Lớp 0 (có thể là nhãn trung tính): Có độ chính xác cao (13584/13839), ch ỉ số lượng nhỏ bị nhầm lẫn.

• Lớp 1 (tích cực): Đây là lớp được phân lo i tạ ốt nh t vấ ới 16299 trường hợp đúng trên tổng số 16700, cho thấy mô hình rất hiệu quả trong việc nhận diện nhãn tích cực

• S ựxuất hi n c a giá tr ệ ủ ịnan trong ma tr n nh m l n có th ậ ầ ẫ ểchỉ ra s c trong ự ố quá trình x lý hoử ặc đánh nhãn dữ liệu Độ chính xác và Độ ấ m t mát

• Mô hình có độ chính xác tổng thể là 92.34%, cho th y nó khá t t trong viấ ố ệc phân loại các tweet vào đúng các nhãn của chúng

• Giá tr m t mát thị ấ ấp (0.2536) cũng cho thấy mô hình có khả năng họ ốt c t từ d ữliệu Đường cong ROC và AUC

• Đường cong ROC và giá tr AUC cho các l p khác nhau cho th y mô hình ị ớ ấ có hi u su t t t trong vi c phân bi t các lệ ấ ố ệ ệ ớp Đặc bi t, lệ ớp 1 có AUC = 0.99, cho th y mô hình có khấ ả năng phân biệ ấ ốt r t t t gi a nhãn v i các nhãn ữ 1 ớ khác

• Lớp 3 có AUC th p (0.72), ph n ánh sấ ả ố liệu ít và khả năng phân biệt kém hơn

• Mô hình cho thấy độ chính xác cao cho nhãn và 1 2, nhưng kém hiệu qu ả với nhãn 3, có l do sẽ ố lượng m u quá ít cho nhãn này, dẫ ẫn đến vi c mô ệ hình không học được đặc điểm đầy đủ

Mô hình RNN truy n thề ống đã hoạt động khá t t trên b dố ộ ữ liệu này, tuy nhiên, sự nhầm l n gi a các nhãn tiêu c c và tích c c cho th y c n có s ẫ ữ ự ự ấ ầ ự điều ch nh hoỉ ặc sử d ng các ki n trúc m ng ph c tụ ế ạ ứ ạp hơn như LSTM hoặc GRU để ả c i thi n kh ệ ả năng phân loại Thêm vào đó, cần lưu ý đến việc cân bằng số lượng mẫu cho các lớp khác nhau để tránh tình tr ng thiên v trong mô hình hạ ị ọc.

Hình 5 : Kế t qu mô hình RNN hai l p ả ớ

• Lớp -1 (tiêu cực): Có 7068 dự đoán đúng, với 1418 nh m l n sang l p 1 ầ ẫ ớ(tích c c), cho th y m t s ự ấ ộ ố khó khăn trong vi c phân bi t gi a hai nhãn cệ ệ ữ ảm xúc này

• L p 0 (trung tính)ớ : Mô hình phân lo i chính xác 13540 trên 13839, cho ạ thấy độ chính xác cao trong vi c nh n di n c m xúc trung tính ệ ậ ệ ả

• L p 1 (tích cớ ực): Cũng giống như mô hình RNN truyền th ng, mô hình hai ố chi u phân lo i r t t t cho nhãn tích c c v i 16103 trên 17328, th ề ạ ấ ố ự ớ ểhiện kh ả năng nhận diện cảm xúc tích c c tự ốt Độ chính xác và mất mát

• Mô hình này có độ chính xác là 91.67%, chỉ thấp hơn một chút so với mô hình RNN truy n th ng, và giá tr m t mát là 0.2829, cho th y mô hình có ề ố ị ấ ấ phần h c không t t bọ ố ằng mô hình truy n th ng trong t p d u này ề ố ậ ữliệ Báo cáo phân loại

Xây d ng, hu ự ấn luyện và đánh giá các mô hình

Đọc và x lý d li u: D liệu được t i t một tập tin CSV, với các văn bản được ử ữ ệ ữ ả ừ đảm bảo là ki u chu ể ỗi.

Tokenization và Padding: Văn bản được chuyển đổi thành chu i s d a trên mỗ ố ự ột từ điển g m 10,000 tồ ừ thường g p nh t Chuặ ấ ỗi sau đó được đệm để có độ dài c ố định là 100

Mã hóa Nhãn: Nhãn được mã hóa t d ng ch sang d ng sừ ạ ữ ạ ố, sau đó được biến đổi thành d ng one-ạ hot để phù hợp v i m c tiêu phân loớ ụ ại đa lớp

4 Xây d ng, hu n luyự ấ ện và đánh giá các mô hình

4.1 M ng RNN truy n thạ ề ống

Dựa trên k t quế ả đạt được, mô hình RNN Truyền Thống có hi u su t t t vệ ấ ố ới độ chính xác kho ng 92.34% Tuy nhiên, mô hình gả ặp khó khăn trong việc phân loại m t s l p ít d u (ví d l p 3 trong báo cáo phân loộ ố ớ ữliệ ụ ớ ại có độ chính xác là 0%)

Hình 4 : Kế t qu mô hình RNN truy n th ng ả ề ố

Ma tr n nh m lậ ầ ẫn cho thấy:

• Lớp -1 (có thể tượng trưng cho nhãn tiêu cực): Có 7097 dự đoán đúng, nhưng cũng có số lượng lớn các tweet bị phân loại nhầm vào lớp 1 (1321 trường hợp) Điều này cho thấy mô hình có khó khăn trong việc phân biệt giữa nhãn tiêu c c và tích cự ực

• Lớp 0 (có thể là nhãn trung tính): Có độ chính xác cao (13584/13839), ch ỉ số lượng nhỏ bị nhầm lẫn.

• Lớp 1 (tích cực): Đây là lớp được phân lo i tạ ốt nh t vấ ới 16299 trường hợp đúng trên tổng số 16700, cho thấy mô hình rất hiệu quả trong việc nhận diện nhãn tích cực

• S ựxuất hi n c a giá tr ệ ủ ịnan trong ma tr n nh m l n có th ậ ầ ẫ ểchỉ ra s c trong ự ố quá trình x lý hoử ặc đánh nhãn dữ liệu Độ chính xác và Độ ấ m t mát

• Mô hình có độ chính xác tổng thể là 92.34%, cho th y nó khá t t trong viấ ố ệc phân loại các tweet vào đúng các nhãn của chúng

• Giá tr m t mát thị ấ ấp (0.2536) cũng cho thấy mô hình có khả năng họ ốt c t từ d ữliệu Đường cong ROC và AUC

• Đường cong ROC và giá tr AUC cho các l p khác nhau cho th y mô hình ị ớ ấ có hi u su t t t trong vi c phân bi t các lệ ấ ố ệ ệ ớp Đặc bi t, lệ ớp 1 có AUC = 0.99, cho th y mô hình có khấ ả năng phân biệ ấ ốt r t t t gi a nhãn v i các nhãn ữ 1 ớ khác

• Lớp 3 có AUC th p (0.72), ph n ánh sấ ả ố liệu ít và khả năng phân biệt kém hơn

• Mô hình cho thấy độ chính xác cao cho nhãn và 1 2, nhưng kém hiệu qu ả với nhãn 3, có l do sẽ ố lượng m u quá ít cho nhãn này, dẫ ẫn đến vi c mô ệ hình không học được đặc điểm đầy đủ

Mô hình RNN truy n thề ống đã hoạt động khá t t trên b dố ộ ữ liệu này, tuy nhiên, sự nhầm l n gi a các nhãn tiêu c c và tích c c cho th y c n có s ẫ ữ ự ự ấ ầ ự điều ch nh hoỉ ặc sử d ng các ki n trúc m ng ph c tụ ế ạ ứ ạp hơn như LSTM hoặc GRU để ả c i thi n kh ệ ả năng phân loại Thêm vào đó, cần lưu ý đến việc cân bằng số lượng mẫu cho các lớp khác nhau để tránh tình tr ng thiên v trong mô hình hạ ị ọc.

Hình 5 : Kế t qu mô hình RNN hai l p ả ớ

• Lớp -1 (tiêu cực): Có 7068 dự đoán đúng, với 1418 nh m l n sang l p 1 ầ ẫ ớ(tích c c), cho th y m t s ự ấ ộ ố khó khăn trong vi c phân bi t gi a hai nhãn cệ ệ ữ ảm xúc này

• L p 0 (trung tính)ớ : Mô hình phân lo i chính xác 13540 trên 13839, cho ạ thấy độ chính xác cao trong vi c nh n di n c m xúc trung tính ệ ậ ệ ả

• L p 1 (tích cớ ực): Cũng giống như mô hình RNN truyền th ng, mô hình hai ố chi u phân lo i r t t t cho nhãn tích c c v i 16103 trên 17328, th ề ạ ấ ố ự ớ ểhiện kh ả năng nhận diện cảm xúc tích c c tự ốt Độ chính xác và mất mát

• Mô hình này có độ chính xác là 91.67%, chỉ thấp hơn một chút so với mô hình RNN truy n th ng, và giá tr m t mát là 0.2829, cho th y mô hình có ề ố ị ấ ấ phần h c không t t bọ ố ằng mô hình truy n th ng trong t p d u này ề ố ậ ữliệ Báo cáo phân loại

• Độ chính xác cho l p 0 và l p 2 không cao bằng mô hình truy n th ng, ớ ớ ề ố nhưng độ chính xác cho lớp 1 tương đương Điều này có thể do mô hình hai chi u có khề ả năng xem xét các thông tin từ ả hai hướ c ng (quá kh và ứ tương lai) trong dữ liệu chuỗi, tuy nhiên sự cải thiện không đáng kể so với chi phí tính toán tăng thêm

ROC AUC và Đường cong ROC

• Giá tr ROC AUC thị ấp hơn so với mô hình RNN truy n th ng, chề ố ỉ đạt 0.8005, điều này có th do mô hình không t t trong vi c phân bi t các l p, ể ố ệ ệ ớ đặc bi t là l p 3 (AUC ch 0.31), m t lệ ớ ỉ ộ ần n a cho th y mô hình không hiữ ấ ệu quả v i nh ng nhãn có s ớ ữ ố lượng mẫu r t ít ấ

M ng RNN hai chi u mang l i m t s c i ti n nhạ ề ạ ộ ố ả ế ỏ trong độ chính xác nh n diậ ện nhãn nhưng không đáng kể so với chi phí tính toán tăng thêm Mô hình vẫn còn thách th c trong vi c phân bi t các nhãn v i sứ ệ ệ ớ ố lượng m u ít ho c khi các nhãn ẫ ặ có tính chất tương tự nhau v m t cề ặ ảm xúc Điều này đòi hỏi ph i c i ti n mô hình ả ả ế hoặc s dử ụng các phương pháp tiền x lý dử ữ liệu tốt hơn để ả c i thi n khệ ả năng phân bi t c a mô hình ệ ủ

Ma tr n nh m lậ ầ ẫn

• Lớp -1 (tiêu cực): Mô hình phân loại đúng 7267 tweet, nhưng còn 1207 tweet được nhầm l n sang l p 1 (tích c c) S ẫ ớ ự ố lượng nhầm lẫn này cao hơn so v i các mô hình RNN truy n th ng và hai chi u, cho th y RNN sâu có ớ ề ố ề ấ thể không ổn định trong việc xác định cảm xúc tiêu cực

• L p 0 (trung tính)ớ : Tương tự như các mô hình trước, lớp này được phân loại khá t t v i 13490 trên 13839 ố ớ

• L p 1 (tích cớ ực): Lớp này được phân lo i t t nh t trong các l p v i 15253 ạ ố ấ ớ ớ trên 17385, m c dù có s ặ ựgiảm nh so v i RNN truy n th ng và hai chiẹ ớ ề ố ều Độ chính xác và mất mát

Ứ ng d ng gán nhãn Tweet 29 ụ CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRI NỂ

Ứng dụng gán nhãn Tweet được phát tri n nh m mể ằ ục đích tự động phân loại tweet vào các danh m c cụ ảm xúc như tích cực, tiêu c c, và trung l p ng d ng này s ự ậ Ứ ụ ử dụng các mô hình RNN đã được huấn luyện trước để dự đoán nhãn cho các tweet m i d a trên n i dung c a chúng ớ ự ộ ủ Ứng dụng được xây d ng s d ng Python, k t h p vự ử ụ ế ợ ới các thư viện mạnh m ẽ như TensorFlow để tải và sử dụng các mô hình học sâu Các bước chính trong ứng dụng bao gồm:

T i Tokenizer và Label Encoderả : Đây là các công cụ được dùng để biến đổi văn bản thành d ữliệu có th ể được mô hình h c sâu x lý Tokenizer chuyọ ử ển đổ ừng i t tweet thành chu i s , trong khi Label Encoder chuyỗ ố ển đổi nhãn dự đoán từ ạng d số sang dạng văn bản có th ể đọc được

T i mô hìnhả : Mỗi mô hình như LSTM, GRU, RNN truyền thống, v.v., được lưu trong m t t p riêng và có th ộ ệ ể được tải theo yêu c u cầ ủa người dùng

Dự đoán nhãn cho Tweet: Ứng dụng cho phép người dùng nh p m t tweet và s ậ ộ ử dụng mô hình đã chọn để dự đoán nhãn của tweet đó.

• Người dùng được yêu c u ch n mầ ọ ột trong các mô hình đã được hu n luyấ ện.

• Sau khi chọn mô hình, người dùng nh p tweet mà h ậ ọmuốn phân loại

• Ứng dụng s dử ụng mô hình đã chọn để ự đoán nhãn củ d a tweet, quá trình này bao g m tokenization, padding và cu i cùng là phân lo i s d ng mô ồ ố ạ ử ụ hình h c sâu ọ

• Nhãn được dự đoán được trả về và hiển thị cho người dùng Ưu điểm:

✓ Tính linh hoạt: Người dùng có th d dàng ch n gi a nhiể ễ ọ ữ ều mô hình để tìm ra mô hình phù h p nh t cho nhu cợ ấ ầu c a h ủ ọ

✓ Tính tương tác cao: Ứng dụng cho phép người dùng tương tác trực tiếp và nhận k t qu ngay lế ả ập tức.

✓ Độ chính xác cao: S dụng các mô hình h c sâu tiên tiử ọ ến giúp tăng độ chính xác trong vi c phân lo i cệ ạ ảm xúc

H n chạ ế: × Phụ thu c vào chộ ất lượng dữ liệu hu n luy n: Nấ ệ ếu mô hình được huấn luy n trên dệ ữ liệu không đại di n ho c l ch l c, k t qu dệ ặ ệ ạ ế ả ự đoán có thể không chính xác × Giới h n v ạ ềhiệu năng: Việc t i và s d ng các mô hình h c sâu có th ả ử ụ ọ ể đòi hỏi tài nguyên hệ thống cao và th i gian xờ ử lý dài hơn các phương pháp truy n th ng ề ố Ứng dụng gán nhãn Tweet này cung c p một công cụ mạnh mẽ và linh hoạt cho ấ việc phân tích c m xúc t d ả ừ ữliệu m ng xã h i V i kh ạ ộ ớ ả năng sử d ng các mô hình ụ học sâu khác nhau, ứng d ng không ch ụ ỉphục v cho mụ ục đích nghiên cứu mà còn có tiềm năng trong các ứng dụng th c t ự ế như giám sát thương hiệu và phân tích ý kiến khách hàng

Giao diện console của ứng d ng: ụ

Hình 9 : Ứ ng d ng console gán nhãn Tweet ụ Ứng dụng này s i di n cho chẽ đạ ệ ức năng Xây d ng m t bự ộ ộ dữ liệu tweet thực tế và ch y th xem k t qu ạ ử để ế ả

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

K t lu ế ận chung

Dự án này đã thành công trong vi c phát tri n m t hệ ể ộ ệ thống để phân tích và gán nhãn c m xúc cho các tweet, s dả ử ụng các phương pháp tiên tiến trong lĩnh vực học máy và học sâu Qua các giai đoạn từ thu thập, xử lý dữ liệu, đến huấn luyện và đánh giá mô hình, chúng ta đã có thể nhìn nhận một cách rõ ràng sự phức tạp và đa dạng của ngôn ng trên m ng xã hữ ạ ội và tác động của nó đến xã hội

Các mô hình như LSTM và GRU đã cho thấy kh ả năng ưu việt trong vi c n m bệ ắ ắt các ph thuụ ộc dài trong văn bản, cung c p khấ ả năng phân loạ ải c m xúc với độ chính xác cao M c dù v y, không phặ ậ ải lúc nào chúng cũng hiệu qu trong mả ọi tình huống, đặc biệt là khi đối m t v i dặ ớ ữ liệu m t cân b ng ho c khi sấ ằ ặ ố lượng m u quá ít cho m t s nhãn c ẫ ộ ố ụthể

Dashboard phân tích tweet được phát triển đã là một công c h u ích, cho phép ụ ữ người dùng khám phá và hiểu sâu hơn về dữ ệ li u, t đó có thể đưa ra các quyếừ t định và chính sách phù hợp hơn để cải thiện môi trường mạng lành m nh và an ạ toàn.

Hướng phát tri n ể

Nghiên c u thêm v các mô hình m i và tiên tiứ ề ớ ến hơn như Transformer, BERT, hoặc các bi n th c a chúng có kh ế ể ủ ả năng hiểu ngữ cảnh tốt hơn. Áp d ng các k thuụ ỹ ật như Data Augmentation, SMOTE để ử x lý vấn đề m t cân ấ bằng trong d ữliệu, t ừ đó cải thi n hi u qu c a mô hình v i các nhãn có s ệ ệ ả ủ ớ ố lượng m u ít ẫ

Tích h p thêm ngu n dợ ồ ữ liệu t các n n t ng m ng xã hừ ề ả ạ ội khác như Facebook, Instagram để phân tích c m xúc trên di n rả ệ ộng hơn.

Phát tri n hể ệ thống để có th tể ự động c p nh t và h c h i t dậ ậ ọ ỏ ừ ữ liệu m i, nhớ ằm duy trì độ chính xác và hiện đạ ủi c a mô hình Ứng d ng th c tiễn ụ ự

Phát tri n API cho phép tích h p vào các h ể ợ ệthống giám sát tr c tuy n, t ự ế ừ đó giúp các t ổchức có th theo dõi và phể ản ứng nhanh chóng v i các vớ ấn đề phát sinh trên m ng xã hạ ội

Tạo ra các gói giáo d c và h p tác v i các t ụ ợ ớ ổchức giáo dục để nâng cao nh n thậ ức và hi u bi t v ể ế ề ảnh hưởng c a ngôn t trên mủ ừ ạng đến c m xúc và hành vi c a con ả ủ người

Nâng cao hiệu qu giao diả ện người dùng:

C i tiả ến dashboard để bao gồm thêm các tính năng tương tác nâng cao như phân tích xu hướng theo thời gian thực, cảnh báo tự động khi phát hiện nội dung nhạy cảm

Tăng cường kh ả năng tuỳ chỉnh của dashboard, cho phép người dùng l a chự ọn và tùy ch nh các metric phân tích theo nhu c u riêng ỉ ầ

 Những hướng phát tri n này không ch giúp cể ỉ ải thi n chệ ất lượng c a h ủ ệthống hiệ ạn t i mà còn mở rộng khả năng ứng dụng của nó trong thực tiễn, góp phần vào vi c t o ra mệ ạ ột môi trường mạng xã h i an toàn và tích cộ ực hơn.

TỔNG KẾT Trong su t quá trình nghiên c u và th c hiố ứ ự ện đề tài "Phát tri n h ể ệthống t ng ự độ phát hi n và g n nhãn các bình lu n có n i dung phân bi t ch ng t c và gi i tính ệ ắ ậ ộ ệ ủ ộ ớ trên Twitter," nhóm nghiên cứu đã học hỏi được nhiều ki n th c và k ế ứ ỹ năng quý báu v phân tích ng c m và hề ữ ả ọc máy Vi c phát tri n h ệ ể ệthống này không ch ỉ nhằm mục đích xác định các bình lu n tiêu c c mà còn cung c p m t công c ậ ự ấ ộ ụ hữu ích cho các nhà qu n tr nả ị ền t ng và nhà hoả ạch định chính sách

Các mô hình học sâu như LSTM và GRU đã chứng tỏ hiệu qu cao trong viả ệc phân lo i c m xúc t ạ ả ừ văn bản, đặc biệt là khi đối mặt với dữ liệu có độ phức tạp cao v ềngữ nghĩa và cấu trúc Các mô hình này đã cho thấy khả năng ưu việt trong vi c n m b t các ph ệ ắ ắ ụthuộc dài trong văn bản và cung cấp độ chính xác cao trong vi c phân lo i c m xúc ệ ạ ả

Bên cạnh đó, việc phát triển dashboard phân tích tweet đã cung cấp một công cụ m nh m ạ ẽ giúp người dùng hiểu sâu hơn về dữ liệu, t ừ đó có thể đưa ra các quyết định và chính sách phù hợp để cải thiện môi trường m ng lành mạ ạnh và an toàn

Mặc dù đã đạt được nhi u k t qu ề ế ảkhả quan, h ệthống v n còn m t s h n ch ẫ ộ ố ạ ế như việc xử lý dữ liệu m t cân b ng và kh ấ ằ ả năng phân loại kém cho các nhãn có số lượng mẫu ít Đểkhắc ph c nh ng h n ch này, nghiên cụ ữ ạ ế ứu tương lai có thể hướng đến việc áp dụng các mô hình tiên tiến hơn như Transformer, BERT, và cải thi n k thu t ti n x lý d ệ ỹ ậ ề ử ữliệu.

Cuối cùng, nhóm hy v ng r ng k t qu c a nghiên c u này s ọ ằ ế ả ủ ứ ẽ đóng góp vào việc nâng cao nh n th c v ậ ứ ề tác động c a ngôn t k trên m ng xã h i và khai thác ủ ừ ỳthị ạ ộ tiềm năng của công nghệ để chống lại các hình th c phân biứ ệt đố ử, thúc đẩy i x sự bao dung và đa dạng trong xã h i s ộ ố

Sinh viên th c hi nự ệ

- Nguy n Lê Hà Phễ ương: 2156210122

Ngày đăng: 21/08/2024, 17:58

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

TÀI LIỆU LIÊN QUAN

w