Sau khi huấn luyện mô hình phân loại văn bản, việc test với dữ liệu mới (inference) là bước quan trọng để đánh giá khả năng tổng quát hóa.
Mã dự đoán
print("Test mô hình với dữ liệu mới")
inputs = [
"how do I extract keys from a dict into a list?",
"debug public static void main(string[] args) {...}",
]
print("Dự đoán điểm số")
predicted_scores = export_model.predict(inputs)
print("Dự đoán nhãn")
predicted_labels = get_string_labels(predicted_scores)
for input, label in zip(inputs, predicted_labels):
print("Câu hỏi:", input)
print("Nhãn dự đoán:", label.numpy())
Kết quả
Test mô hình với dữ liệu mới
Dự đoán điểm số
Dự đoán nhãn
Câu hỏi: how do I extract keys from a dict into a list?
Nhãn dự đoán: b'python'
Câu hỏi: debug public static void main(string[] args) {...}
Nhãn dự đoán: b'java'
Giải thích
- Mô hình đã được export kèm layer tiền xử lý (
TextVectorization), cho phép nhận input là raw string. predict()trả về điểm số (logits/probabilities) cho từng lớp.- Hàm
get_string_labelschuyển từ index sang tên nhãn (python, java, csharp, javascript). - Kết quả cho thấy mô hình nhận diện đúng ngôn ngữ lập trình từ câu hỏi.