TÀI LIỆU THIẾT KẾ KỸ THUẬT
XÂY DỰNG HỆ THỐNG PHÁT HIỆN NGÔN TỪ VI PHẠM
TIÊU CHUẨN CỘNG ĐỒNG TRÊN NỀN TẢNG BIG DATA
Thực hiện: Nhóm 5
Môn học: Quản lý dữ liệu lớn
Giảng viên hướng dẫn: Ths. Nguyễn Đắc Phương Thảo
1. Giới thiệu chung
1.1. Bối cảnh & Vấn đề
Sự phát triển mạnh mẽ của các nền tảng mạng hội đã tạo ra một khối lượng dữ liệu
văn bản khổng lồ với tốc độ sinh cao tính đa dạng lớn. Bên cạnh các tương tác tích
cực, ngôn từ độc hại (toxic speech), thù ghét (hate speech) quấy rối trực tuyến ngày
càng phổ biến, gây ảnh hưởng tiêu cực đến người dùng và cộng đồng.
Các phương pháp kiểm duyệt thủ công truyền thống không còn khả thi do chi phí cao, độ
trễ lớn không thể mở rộng theo tốc độ tăng trưởng dữ liệu. vậy, cần một hệ thống
xử dữ liệu tự động, khả năng mở rộng ngang hỗ trợ phân tích dữ liệu ở quy mô
lớn, đồng thời có thể phản hồi trong thời gian gần thực (near real-time).
1.2. Mục tiêu dự án
Dự án hướng tới việc xây dựng một hệ thống Big Data hoàn chỉnh với các mục tiêu sau:
Kiến trúc: Thiết kế triển khai pipeline xử lý dữ liệu phân tầng, tương đồng với
kiến trúc Lambda đơn giản, kết hợp giữa Batch Processing và Stream Processing.
Công nghệ: Minh họa vai trò so sánh hiệu năng giữa Hadoop MapReduce (xử
lý batch truyền thống, disk-based) và Apache Spark (xử lý in-memory).
Ứng dụng: Huấn luyện và triển khai mô hình Machine Learning trên Spark MLlib
để phát hiện ngôn từ vi phạm tiêu chuẩn cộng đồng.
Đánh giá: Thực nghiệm đánh giá cả hình (ML) hệ thống (throughput,
latency, scalability).
1.3. Phạm vi dự án
Đối tượng dữ liệu: Bình luận văn bản tiếng Anh tiếng Việt từ các nền tảng
mạng xã hội.
Tiêu chuẩn cộng đồng: Được định nghĩa dựa trên các nhãn sẵn trong các bộ
dữ liệu benchmark (Jigsaw, Kaggle Toxic Comment), phản ánh các hành vi bị cấm
phổ biến trên các nền tảng mạng xã hội lớn.
Nhãn phân loại: Toxic, Hate Speech, Harassment/Threat.
Loại trừ: Các bài toán phức tạp như Fake News, Spam thương mại hoặc phân tích
ngữ nghĩa chuyên sâu.
2. Dữ liệu & Thách thức
2.1. Nguồn dữ liệu
Dự án sử dụng các bộ dữ liệu công khai, được cộng đồng nghiên cứu sử dụng rộng rãi:
Kaggle Toxic Comment Classification Dataset.
Jigsaw / Google Perspective Dataset.
2.2. Đặc điểm dữ liệu theo chiến lược 3Vs
Mặc dù triển khai trong môi trường lab có giới hạn phần cứng, dự án vẫn đáp ứng các đặc
trưng cốt lõi của Big Data:
Volume: Dữ liệu thô dung lượng > 1GB (hàng triệu bản ghi). Kiến trúc được
thiết kế để dễ dàng mở rộng lên quy mô lớn hơn bằng cách bổ sung node HDFS.
Velocity: phỏng luồng dữ liệu liên tục bằng cách nạp file mới vào HDFS, kích
hoạt Spark Structured Streaming xử lý theo micro-batch.
Variety: Dữ liệu chủ yếu văn bản phi cấu trúc, kết hợp metadata bán cấu trúc ở
định dạng CSV/JSON.
2.3. Thách thức kỹ thuật
Mất cân bằng dữ liệu: Tỷ lệ bình luận vi phạm thấp hơn nhiều so với bình luận
hợp lệ.
Nhiễu dữ liệu: Văn bản chứa ký tự đặc biệt, teencode, emoji, từ viết tắt.
Yêu cầu hiệu năng: Cần cân bằng giữa độ trễ xử lý và thông lượng hệ thống.
3. Kiến trúc hệ thống tổng thể
Hệ thống được thiết kế theo mô hình pipeline xử lý dữ liệu, gồm các thành phần chính:
1. Ingestion Layer: Tiếp nhận dữ liệu thô từ các file CSV/Log.
2. Storage Layer (HDFS): Đóng vai trò Data Lake, lưu trữ dữ liệu thô dữ liệu
trung gian.
3. Processing Layer:
Batch Layer (Hadoop MapReduce): Xử dữ liệu lịch sử (cold data) để
làm sạch sơ bộ và thống kê cơ bản.
Speed / Analytics Layer (Apache Spark): Thực hiện xử lý nâng cao, huấn
luyện mô hình ML và xử lý dữ liệu streaming.
4. Serving Layer (HBase): Lưu trữ kết quả phân loại, phục vụ truy vấn với độ trễ
thấp.
Kiến trúc này cho phép tách biệt rõ ràng giữa xử lý batch truyền thống và xử lý phân tích
nâng cao, đồng thời minh họa một kiến trúc Big Data điển hình trong thực tế.
4. Triển khai chi tiết các thành phần
4.1. Hadoop MapReduce – Batch ETL
MapReduce được sử dụng cho các tác vụ batch không yêu cầu phản hồi nhanh:
Làm sạch dữ liệu cơ bản (lowercase, loại bỏ ký tự đặc biệt, stopwords).
Thống kê mô tả: word count, phân bố độ dài bình luận.
Mục đích: Tạo baseline xử lý disk-based để so sánh hiệu năng với Spark và minh họa vai
trò của MapReduce trong hệ sinh thái Hadoop.
4.2. Apache Spark – Phân tích nâng cao & Streaming
Spark là thành phần trung tâm của hệ thống:
A. Feature Engineering
Tokenization, HashingTF, TF-IDF để chuyển đổi văn bản sang vector số học.
Sử dụng HashingTF nhằm cố định chiều không gian đảm bảo khả năng mở
rộng.
B. Machine Learning (Spark MLlib)
Mô hình: Logistic Regression hoặc Naive Bayes.
Xử mất cân bằng dữ liệu bằng kỹ thuật class weighting nhằm cải thiện Recall
cho lớp vi phạm.
C. Streaming Simulation
Sử dụng Spark Structured Streaming giám sát thư mục trên HDFS.
Khi dữ liệu mới xuất hiện, hệ thống tự động tiền xử áp dụng hình đã
huấn luyện để dự đoán.
Độ trễ kỳ vọng ở mức vài giây, phù hợp với bài toán near real-time moderation.
4.3. Lưu trữ kết quả với HBase
Apache HBase được lựa chọn nhờ khả năng tích hợp tự nhiên với HDFS và hiệu năng ghi
cao.
Thiết kế schema:
RowKey: Timestamp_UserID (hỗ trợ truy vấn theo thời gian phân tán đều dữ
liệu).
Column Families:
Content: văn bản gốc.
Prediction: nhãn phân loại và xác suất dự đoán.
5. Chiến lược đánh giá & thực nghiệm
5.1. Đánh giá mô hình
Do dữ liệu mất cân bằng, các chỉ số được sử dụng gồm:
Precision, Recall.
F1-score.
AUC-ROC.
5.2. Đánh giá hệ thống
So sánh MapReduce vs Spark: Thời gian thực thi các tác vụ batch tương đương.
Scalability: Quan sát mức sử dụng tài nguyên khi tăng dung lượng dữ liệu đầu
vào.
Throughput & Latency: Đánh giá hiệu năng xử lý trong chế độ streaming.
6. Kết luận & Hướng phát triển
6.1. Kết quả kỳ vọng
Xây dựng thành công pipeline Big Data end-to-end.
Chứng minh ưu thế của xử lý in-memory với Spark so với MapReduce.
Đạt hiệu quả phân loại chấp nhận được cho bài toán phát hiện ngôn từ vi phạm.
6.2. Hạn chế & Hướng phát triển
Hạn chế: Streaming hiện tại phỏng dựa trên file, chưa đạt real-time latency
thấp.
Hướng phát triển: Tích hợp Kafka cho streaming thực, xây dựng dashboard giám
sát thời gian thực.

Preview text:

TÀI LIỆU THIẾT KẾ KỸ THUẬT
XÂY DỰNG HỆ THỐNG PHÁT HIỆN NGÔN TỪ VI PHẠM
TIÊU CHUẨN CỘNG ĐỒNG TRÊN NỀN TẢNG BIG DATA
Thực hiện: Nhóm 5
Môn học: Quản lý dữ liệu lớn
Giảng viên hướng dẫn: Ths. Nguyễn Đắc Phương Thảo
1. Giới thiệu chung
1.1. Bối cảnh & Vấn đề
Sự phát triển mạnh mẽ của các nền tảng mạng xã hội đã tạo ra một khối lượng dữ liệu
văn bản khổng lồ với tốc độ sinh cao và tính đa dạng lớn. Bên cạnh các tương tác tích
cực, ngôn từ độc hại (toxic speech), thù ghét (hate speech) và quấy rối trực tuyến ngày
càng phổ biến, gây ảnh hưởng tiêu cực đến người dùng và cộng đồng.
Các phương pháp kiểm duyệt thủ công truyền thống không còn khả thi do chi phí cao, độ
trễ lớn và không thể mở rộng theo tốc độ tăng trưởng dữ liệu. Vì vậy, cần một hệ thống
xử lý dữ liệu tự động, có khả năng mở rộng ngang và hỗ trợ phân tích dữ liệu ở quy mô
lớn, đồng thời có thể phản hồi trong thời gian gần thực (near real-time).
1.2. Mục tiêu dự án
Dự án hướng tới việc xây dựng một hệ thống Big Data hoàn chỉnh với các mục tiêu sau:
Kiến trúc: Thiết kế và triển khai pipeline xử lý dữ liệu phân tầng, tương đồng với
kiến trúc Lambda đơn giản, kết hợp giữa Batch Processing và Stream Processing.
Công nghệ: Minh họa vai trò và so sánh hiệu năng giữa Hadoop MapReduce (xử
lý batch truyền thống, disk-based) và Apache Spark (xử lý in-memory).
Ứng dụng: Huấn luyện và triển khai mô hình Machine Learning trên Spark MLlib
để phát hiện ngôn từ vi phạm tiêu chuẩn cộng đồng.
Đánh giá: Thực nghiệm đánh giá cả mô hình (ML) và hệ thống (throughput, latency, scalability).
1.3. Phạm vi dự án
Đối tượng dữ liệu: Bình luận văn bản tiếng Anh và tiếng Việt từ các nền tảng mạng xã hội.
Tiêu chuẩn cộng đồng: Được định nghĩa dựa trên các nhãn có sẵn trong các bộ
dữ liệu benchmark (Jigsaw, Kaggle Toxic Comment), phản ánh các hành vi bị cấm
phổ biến trên các nền tảng mạng xã hội lớn.
Nhãn phân loại: Toxic, Hate Speech, Harassment/Threat.
Loại trừ: Các bài toán phức tạp như Fake News, Spam thương mại hoặc phân tích ngữ nghĩa chuyên sâu.
2. Dữ liệu & Thách thức
2.1. Nguồn dữ liệu
Dự án sử dụng các bộ dữ liệu công khai, được cộng đồng nghiên cứu sử dụng rộng rãi:
● Kaggle Toxic Comment Classification Dataset.
● Jigsaw / Google Perspective Dataset.
2.2. Đặc điểm dữ liệu theo chiến lược 3Vs
Mặc dù triển khai trong môi trường lab có giới hạn phần cứng, dự án vẫn đáp ứng các đặc
trưng cốt lõi của Big Data:
Volume: Dữ liệu thô có dung lượng > 1GB (hàng triệu bản ghi). Kiến trúc được
thiết kế để dễ dàng mở rộng lên quy mô lớn hơn bằng cách bổ sung node HDFS.
Velocity: Mô phỏng luồng dữ liệu liên tục bằng cách nạp file mới vào HDFS, kích
hoạt Spark Structured Streaming xử lý theo micro-batch.
Variety: Dữ liệu chủ yếu là văn bản phi cấu trúc, kết hợp metadata bán cấu trúc ở định dạng CSV/JSON.
2.3. Thách thức kỹ thuật
Mất cân bằng dữ liệu: Tỷ lệ bình luận vi phạm thấp hơn nhiều so với bình luận hợp lệ.
Nhiễu dữ liệu: Văn bản chứa ký tự đặc biệt, teencode, emoji, từ viết tắt.
Yêu cầu hiệu năng: Cần cân bằng giữa độ trễ xử lý và thông lượng hệ thống.
3. Kiến trúc hệ thống tổng thể
Hệ thống được thiết kế theo mô hình pipeline xử lý dữ liệu, gồm các thành phần chính:
1. Ingestion Layer: Tiếp nhận dữ liệu thô từ các file CSV/Log.
2. Storage Layer (HDFS): Đóng vai trò Data Lake, lưu trữ dữ liệu thô và dữ liệu trung gian. 3. Processing Layer:
Batch Layer (Hadoop MapReduce): Xử lý dữ liệu lịch sử (cold data) để
làm sạch sơ bộ và thống kê cơ bản.
Speed / Analytics Layer (Apache Spark): Thực hiện xử lý nâng cao, huấn
luyện mô hình ML và xử lý dữ liệu streaming.
4. Serving Layer (HBase): Lưu trữ kết quả phân loại, phục vụ truy vấn với độ trễ thấp.
Kiến trúc này cho phép tách biệt rõ ràng giữa xử lý batch truyền thống và xử lý phân tích
nâng cao, đồng thời minh họa một kiến trúc Big Data điển hình trong thực tế.
4. Triển khai chi tiết các thành phần
4.1. Hadoop MapReduce – Batch ETL
MapReduce được sử dụng cho các tác vụ batch không yêu cầu phản hồi nhanh:
● Làm sạch dữ liệu cơ bản (lowercase, loại bỏ ký tự đặc biệt, stopwords).
● Thống kê mô tả: word count, phân bố độ dài bình luận.
Mục đích: Tạo baseline xử lý disk-based để so sánh hiệu năng với Spark và minh họa vai
trò của MapReduce trong hệ sinh thái Hadoop.
4.2. Apache Spark – Phân tích nâng cao & Streaming
Spark là thành phần trung tâm của hệ thống: A. Feature Engineering
● Tokenization, HashingTF, TF-IDF để chuyển đổi văn bản sang vector số học.
● Sử dụng HashingTF nhằm cố định chiều không gian và đảm bảo khả năng mở rộng.
B. Machine Learning (Spark MLlib)
● Mô hình: Logistic Regression hoặc Naive Bayes.
● Xử lý mất cân bằng dữ liệu bằng kỹ thuật class weighting nhằm cải thiện Recall cho lớp vi phạm.
C. Streaming Simulation
● Sử dụng Spark Structured Streaming giám sát thư mục trên HDFS.
● Khi dữ liệu mới xuất hiện, hệ thống tự động tiền xử lý và áp dụng mô hình đã
huấn luyện để dự đoán.
● Độ trễ kỳ vọng ở mức vài giây, phù hợp với bài toán near real-time moderation.
4.3. Lưu trữ kết quả với HBase
Apache HBase được lựa chọn nhờ khả năng tích hợp tự nhiên với HDFS và hiệu năng ghi cao. Thiết kế schema:
RowKey: Timestamp_UserID (hỗ trợ truy vấn theo thời gian và phân tán đều dữ liệu). ● Column Families:
○ Content: văn bản gốc.
○ Prediction: nhãn phân loại và xác suất dự đoán.
5. Chiến lược đánh giá & thực nghiệm
5.1. Đánh giá mô hình
Do dữ liệu mất cân bằng, các chỉ số được sử dụng gồm: ● Precision, Recall. ● F1-score. ● AUC-ROC.
5.2. Đánh giá hệ thống
So sánh MapReduce vs Spark: Thời gian thực thi các tác vụ batch tương đương.
Scalability: Quan sát mức sử dụng tài nguyên khi tăng dung lượng dữ liệu đầu vào.
Throughput & Latency: Đánh giá hiệu năng xử lý trong chế độ streaming.
6. Kết luận & Hướng phát triển
6.1. Kết quả kỳ vọng
● Xây dựng thành công pipeline Big Data end-to-end.
● Chứng minh ưu thế của xử lý in-memory với Spark so với MapReduce.
● Đạt hiệu quả phân loại chấp nhận được cho bài toán phát hiện ngôn từ vi phạm.
6.2. Hạn chế & Hướng phát triển
Hạn chế: Streaming hiện tại là mô phỏng dựa trên file, chưa đạt real-time latency thấp.
Hướng phát triển: Tích hợp Kafka cho streaming thực, xây dựng dashboard giám sát thời gian thực.
Document Outline

  • TÀI LIỆU THIẾT KẾ KỸ THUẬT
  • XÂY DỰNG HỆ THỐNG PHÁT HIỆN NGÔN TỪ VI PHẠM TIÊU CHUẨN CỘNG ĐỒNG TRÊN NỀN TẢNG BIG DATA
  • 1. Giới thiệu chung
    • 1.1. Bối cảnh & Vấn đề
    • 1.2. Mục tiêu dự án
    • 1.3. Phạm vi dự án
  • 2. Dữ liệu & Thách thức
    • 2.1. Nguồn dữ liệu
    • 2.2. Đặc điểm dữ liệu theo chiến lược 3Vs
    • 2.3. Thách thức kỹ thuật
    • 3. Kiến trúc hệ thống tổng thể
  • 4. Triển khai chi tiết các thành phần
    • 4.1. Hadoop MapReduce – Batch ETL
    • 4.2. Apache Spark – Phân tích nâng cao & Streaming
    • 4.3. Lưu trữ kết quả với HBase
  • 5. Chiến lược đánh giá & thực nghiệm
    • 5.1. Đánh giá mô hình
    • 5.2. Đánh giá hệ thống
  • 6. Kết luận & Hướng phát triển
    • 6.1. Kết quả kỳ vọng
    • 6.2. Hạn chế & Hướng phát triển