← Quay lại trang chủ

BTL 1 - Text Classification Report

Trang báo cáo tổng hợp cho Assignment 1 - phần phân loại văn bản bất động sản. Bài toán sử dụng phần mô tả quảng cáo để dự đoán nhóm bất động sản, kết hợp EDA, tiền xử lý text, huấn luyện mô hình và trực quan hóa kết quả đánh giá.

Dataset: Oregon Real Estate 2026 Framework: PyTorch Tracking: Weights & Biases Input: Text description
01

Giới thiệu và mô tả bài toán

Bài toán là phân loại văn bản mô tả bất động sản thành 6 nhóm `type` dựa trên nội dung quảng cáo của mỗi bất đống sản. Đầu vào của mô hình là chuỗi mô tả text đã được làm sạch, còn đầu ra là nhãn lớp thuộc một trong sáu loại: condos, farm, land, multi_family, single_family và townhomes.

Mục tiêu của bài toán là khai thác tín hiệu ngôn ngữ trong phần mô tả để dự đoán đúng nhóm bất động sản, đánh giá mô hình bằng Accuracy, Macro F1 và Weighted F1, đồng thời kiểm tra ảnh hưởng của tiền xử lý text, cách biểu diễn đặc trưng và lựa chọn mô hình phân loại.

Bài toán
Text Multi-class Classification
Số lớp
6 classes
Metrics
Macro F1 + Accuracy + Weighted F1
Số cấu hình chạy
13 experiments
02

EDA (Exploratory Data Analysis)

Trực quan hóa phân bố mẫu theo lớp và khảo sát các đặc trưng text trước bước tiền xử lý để kiểm tra chất lượng dữ liệu.

Kích thước dataset: 10403 đoạn mô tả - 8 lớp

Phân bố lớp dữ liệu
Phân bố số lượng mẫu theo từng lớp.

Text Samples (compact view)

Samples for Class: single_family
Sample 1: Showings subject to accepted offer. Investor opportunity in Cathedral Park...
Sample 2: *DO NOT DRIVE BY WITHOUT AN APPOINTMENT* Distressed property due to land movement...

Samples for Class: condos
Sample 1: This exceptional property is priced to sell and is a must-see for fly fishing enthusiasts...
Sample 2: Sophisticated and beautifully updated riverfront townhome in an exceptional location...

Samples for Class: land, farm, multi_family, townhome, unknown, townhomes

Nội dung đầy đủ rất dài, đã được đặt trong popup để dễ đọc hơn.

02.1

Tiền xử lý text

Dữ liệu text được chuẩn hóa theo hai chế độ để phục vụ so sánh thực nghiệm. Cách Minimal giữ lại tối đa cấu trúc gốc của mô tả, chỉ đưa về chữ thường và chuẩn hóa khoảng trắng. Cách Aggressive đi xa hơn bằng việc loại bỏ ký tự không phải chữ/số, tách token và loại stopwords để giảm nhiễu từ các mô tả bất động sản dài, lặp ý và nhiều ký tự trang trí.

Minimal

Mục tiêu

Giữ ngữ nghĩa gần với văn bản gốc nhất có thể, phù hợp khi muốn bảo toàn tín hiệu mô tả, tên riêng, cụm từ chỉ vị trí và các chi tiết quan trọng trong listing.

Phân bố độ dài văn bản
Phân bố độ dài text sau tiền xử lý.
Phân bố độ dài văn bản theo lớp
Độ dài văn bản theo từng class.
Aggressive

Mục tiêu

Tập trung vào các token mang tính phân biệt cao, giảm nhiễu từ dấu câu và stopwords để hỗ trợ mô hình học rõ hơn những cụm từ quan trọng cho từng loại bất động sản.

Top 5 word xuất hiện nhiều nhất mỗi class
Top 5 word xuất hiện nhiều nhất theo class.

Nhận xét thực nghiệm

Minimal phù hợp khi cần giữ nguyên nhiều tín hiệu mô tả tự nhiên của listing. Aggressive hữu ích khi muốn làm gọn không gian từ vựng và nhấn mạnh từ khóa đặc trưng cho từng lớp.

03

Cách chia Data Split và Data Augmentation

Dữ liệu được chia theo tỉ lệ 80/10/10 để đảm bảo phân phối lớp ổn định giữa train/val/test. Cách chia này giúp tập huấn luyện có đủ dữ liệu để học đặc trưng văn bản, đồng thời vẫn giữ được tập val/test cân bằng để đánh giá khách quan.

Train
8302 rows
Validation
1038 rows
Test
1038 rows
Split ratio
80 / 10 / 10
Phân bố class theo từng split (%)
type train_% val_% test_%
single_family63.0763.0163.10
land18.0018.0218.02
condos8.268.298.29
townhomes4.854.914.82
multi_family3.963.953.95
farm1.851.831.83

Data augmentation cho tập train được thực hiện bằng back translation để tạo thêm sample (tăng tính đa dạng) cho các class farm, multi_family, townhomescondos. Mục tiêu là tạo thêm các biến thể diễn đạt mà vẫn giữ nguyên nhãn, đặc biệt hữu ích cho những lớp có số lượng mẫu thấp hơn.

04

Lựa chọn mô hình Backbone (3 loại)

So sánh ba kiến trúc chính cho bài toán phân loại văn bản: BiLSTM, BERT base và DistillBert.

BiLSTMRNN-based
Kien truc mo hinh BiLSTM
Kiến trúc BiLSTM cho phân loại text.
BERT base + DistillBertTransformer-based
So sanh BERT base va DistillBert
So sánh kiến trúc BERT base và DistillBert.

BiLSTM đại diện cho nhóm mô hình tuần tự nhẹ, trong khi BERT base và DistillBert đại diện cho nhóm Transformer với khả năng nắm bắt ngữ cảnh mạnh hơn. DistillBert được dùng như lựa chọn cân bằng giữa hiệu năng và chi phí tính toán.

05

Kết quả Training (Wandb log)

Chuyển tab để xem các nhóm biểu đồ train/val theo metric.

Theo dõi đầy đủ trên Weights & Biases: wandb.ai/.../oregon-real-estate-classification

Train loss curves
Train loss toàn bộ các run.
Validation loss curves
Validation loss toàn bộ các run.
Validation accuracy curves
Validation accuracy theo epoch.
Validation macro F1 curves
Validation Macro F1 theo epoch.
Validation weighted F1 curves
Validation Weighted F1 theo epoch.
Learning rate schedule
Learning rate schedule trong quá trình huấn luyện.
06

So sánh 13 cấu hình mô hình

Bảng dưới đây dùng toàn bộ 13 cấu hình. Bạn có thể lọc theo preprocess, data, setup và sắp xếp theo cả hai chiều tăng dần/giảm dần.

So sánh toàn bộ cấu hình
Model Text Data Setup Acc (%) Macro F1 (%) Weighted F1 (%) Time (s) Train Time (s) Params (M) Size (MB)
Default: Top 1 theo từng cột | Sort mode: Top 1 theo cột được chọn Default: Top 2 theo từng cột | Sort mode: Top 2 theo cột được chọn

Confusion Matrix cho 13 cấu hình

08

Kết quả thực nghiệm: Giải thích dự đoán trên từng ví dụ

Mục này trình bày các ví dụ cụ thể để phân tích hành vi mô hình. Bên dưới là Ví dụ 1 cùng trực quan hóa của top-3 cấu hình.

Ví dụ 1

Ground Truth Label: Townhomes

Newly Available Owner Occupied Opportunity in Cimmaron Terrace. Beautiful 3 bedroom & 2.5 bath newer townhome has a one car garage. Open kitchen with stainless steel appliances. Laminate floors throughout kitchen, dining and living area. Walk in closet. Beautifully landscaped. Home Warranty. Appointment only.

Top 1 - BERT Full Fine-tune (Minimal + Augmented)
Top 2 - DistilBERT Full Fine-tune (Minimal + Standard)
Top 3 - DistilBERT Full Fine-tune (Minimal + Augmented)

Ví dụ 2

Ground Truth Label: Townhomes

Dream property! Whether you are an investor who wants to buy all four units, or a Buyer looking for a great home, take a look at these brand new 2 bed/2 bath homes! With all new appliances, spacious 1 car garages, and bathroom/bedroom combos on both the main and 2nd floor, this is the perfect fit for investors or families looking for a home to fit their current needs. Located close to shopping & other amenities, Park Springs is a great place to call home.

Ghi chú: cấu hình BERT Full Fine-tune (Minimal + Augmented) dự đoán sai ở ví dụ này.

BERT Full Fine-tune (Minimal + Augmented) - Mixed Case
DistilBERT Full Fine-tune (Minimal + Augmented) - Mixed Case
DistilBERT Full Fine-tune (Minimal + Standard) - Mixed Case

Ví dụ 3: Sai label

Ground Truth Label hiện tại: Townhomes

Charming Renovated Farmhouse on 2.86 Acres!Discover peaceful country living in this adorable, updated farmhouse nestled on nearly 3 acres of open, usable land. Perfect for homesteading or hobby farming, this property features a lush garden, greenhouse, and fenced pasture ideal for animals. Recent updates include a durable metal roof and a sand filter septic system for peace of mind. Whether you're looking to garden, raise livestock, or simply enjoy quiet rural life, this property offers the perfect blend!

Nhận xét: sau khi xem lại nội dung, nhãn hợp lý hơn có thể là Farm thay vì Townhomes.

BERT Full Fine-tune (Minimal + Augmented) - All Incorrect
DistilBERT Full Fine-tune (Minimal + Augmented) - All Incorrect
DistilBERT Full Fine-tune (Minimal + Standard) - All Incorrect
09

Thử nghiệm trực tiếp trên Gradio - Hugging Face Space

Gradio - Hugging Face Space

Nếu iframe bị lỗi, bấm nút bên dưới để mở Hugging Face Space ở tab mới.

Mở Hugging Face Space