Skip to content
This repository was archived by the owner on Jul 3, 2025. It is now read-only.

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Phân loại bình luận độc hại

Tổng quan dự án

Dự án này là một ứng dụng web cho phép người dùng nhập vào một bình luận và mô hình học máy sẽ phân loại xem bình luận đó có chứa nội dung độc hại hay không. Mô hình được huấn luyện dựa trên một tập dữ liệu các bình luận đã được gán nhãn.

Tính năng

  • Giao diện web đơn giản để nhập và phân loại bình luận.
  • Sử dụng mô hình Multi-Layer Perceptron (MLP) để phân loại.
  • Cho phép huấn luyện lại mô hình với dữ liệu mới.

Hướng dẫn Cài đặt

Để thiết lập dự án này trên máy cục bộ của bạn, hãy làm theo các bước dưới đây.

Điều kiện tiên quyết

Trước khi tiếp tục, đảm bảo rằng bạn đã cài đặt các phần mềm sau trên hệ thống của mình:

  • Python: Phiên bản 3.7 trở lên. Bạn có thể tải Python từ python.org.
  • pip: Trình quản lý gói cho Python (thường được cài đặt kèm với Python).

Các bước cài đặt

  1. Lấy mã nguồn:

    Tải trực tiếp ở phần release ( file .rar )
  2. Cài đặt các thư viện phụ thuộc: Khi môi trường ảo đã được kích hoạt, cài đặt tất cả các thư viện cần thiết. Nếu dự án có tệp requirements.txt (khuyến nghị), bạn có thể cài đặt bằng lệnh:

    pip install -r requirements.txt

    Nếu không có tệp requirements.txt, bạn cần cài đặt các thư viện được liệt kê (ví dụ như các thư viện chính của dự án này):

    pip install flask tensorflow scikit-learn pandas numpy openpyxl

    Khuyến nghị mạnh mẽ: Sau khi cài đặt thành công các thư viện theo cách thủ công, bạn nên tạo tệp requirements.txt. Điều này giúp người khác (hoặc chính bạn trong tương lai) dễ dàng cài đặt lại môi trường và quản lý các gói phụ thuộc một cách nhất quán:

    pip freeze > requirements.txt

Sau khi hoàn thành các bước này, môi trường phát triển của bạn đã sẵn sàng. Bạn có thể chuyển sang phần "Sử dụng" để biết cách chạy ứng dụng.

Sử dụng

Khởi động nhanh

  1. Chạy ứng dụng:
    python app/app.py
  2. Khi bạn thấy thông báo Running on http://127.0.0.1:5000, hãy mở trình duyệt web và truy cập vào địa chỉ http://127.0.0.1:5000 để sử dụng giao diện.

Huấn luyện với dữ liệu mới

Nếu bạn muốn huấn luyện lại mô hình với dữ liệu mới:

  1. Chuẩn bị dữ liệu:

    • Đặt tệp dữ liệu mới của bạn (ví dụ: new_data.xlsx) vào thư mục data/. Tệp này phải có cấu trúc tương tự như data/toxic_comments_with_positive.xlsx (ví dụ: một cột chứa văn bản bình luận và một cột chứa nhãn độc hại/không độc hại).
    • Lưu ý: Cập nhật tên tệp và các cột dữ liệu tương ứng trong tệp preprocess.py nếu cần.
  2. Xóa mô hình và dữ liệu tiền xử lý cũ (nếu có):

    • model/mlp_model.h5
    • model/preprocessed_data.pkl
  3. Chạy các kịch bản (script) theo thứ tự sau:

    python preprocess.py
    python train_model.py
    python app/app.py
  4. Khi bạn thấy thông báo Running on http://127.0.0.1:5000, hãy mở trình duyệt web và truy cập vào địa chỉ http://127.0.0.1:5000 để sử dụng giao diện với mô hình đã được huấn luyện lại.

Cấu trúc tệp tin

.
├── api/                  # (Có thể dành cho API trong tương lai)
├── app/                  # Chứa mã nguồn ứng dụng Flask
│   ├── app.py            # Tệp chính của ứng dụng Flask
│   ├── comments.db       # Cơ sở dữ liệu SQLite (nếu có sử dụng)
│   ├── static/           # Chứa các tệp tĩnh (CSS, JS, hình ảnh)
│   │   └── uploads/      # Thư mục lưu trữ hình ảnh tải lên (nếu có)
│   └── templates/        # Chứa các mẫu HTML
│       └── index.html    # Trang giao diện chính
├── data/                 # Chứa dữ liệu huấn luyện
│   └── toxic_comments_with_positive.xlsx # Tệp dữ liệu ví dụ
├── model/                # Chứa mô hình đã huấn luyện và dữ liệu tiền xử lý
│   ├── mlp_model.h5      # Tệp mô hình Keras đã huấn luyện
│   └── preprocessed_data.pkl # Tệp dữ liệu đã được tiền xử lý (tokenizer, label encoder)
├── preprocess.py         # Kịch bản tiền xử lý dữ liệu
├── readme.md             # Tệp README này
├── train_model.py        # Kịch bản huấn luyện mô hình
└── venv/                 # Thư mục môi trường ảo (nếu có)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors