TF-IDF cho bài toán phân loại văn bản

classification
nlp

#1

Em chào mọi người. Em đang tìm hiểu về trích chọn đặc trưng TF-IDF cho bài toán phân loại văn bản. Sau khi tìm hiểu em được biết sau quá trình TF-IDF chuyển đổi về ma trận trong đó số hàng là số văn bản, số cột là số feature. Mỗi ô là giá trị TF-IDF của feature trong văn bản đó, nhưng em thắc mắc nếu vậy thì trong khi train làm sao biết văn bản nào thuộc thể loại nào, để mà biết những đặc trưng đó thể hiện cho thể loại văn bản đó? vì trong ma trận không có thể hiện nhãn của văn bản. Hay là em đã hiểu sai về ma trận này. Mong mọi người giải đáp giúp em với ạ!


#2

tf-idf là tỷ số giữa term-frequency và inverse document frequency. Cụ thể, term-frequency là tần suất xuất hiện của token (có thể là word hoặc n-gram) trong một document (một câu hoặc đoạn văn). Còn inverse document frequency là tần suất của token trong corpus (một tập các document). Do đó, ta có thể thấy tf-idf thể hiện độ quan trọng của token trong document chứa nó. Bởi từ nào càng xuất hiện nhiều trong một document và đồng thời xuất hiện ít trong các document khác thì hiển nhiên nó mang tính đặc trưng rất cao cho document đó.

Dữ liệu đầu vào của bạn cần có nhãn trước thì mới train được (supervised learning). Ví dụ, document A có nhãn tích cực, document B có nhãn tiêu cực. Việc thu thập, gán nhãn dữ liệu thì phải do con người làm.


#3

Vâng, em hiểu rồi ạ, Em cảm ơn anh nhiều!