Tôi có một dự án phân loại tài liệu nơi tôi đang nhận nội dung trang web và sau đó chỉ định một trong nhiều nhãn cho trang web theo nội dung.
Tôi phát hiện ra rằng tf-idf có thể rất hữu ích cho việc này. Tuy nhiên, tôi không chắc chắn chính xác khi nào sử dụng nó.
Giả sử một trang web liên quan đến một chủ đề cụ thể làm cho đề cập nhiều lần về nó, đây là quá trình hiện tại của tôi:
- Truy xuất nội dung trang web, phân tích cú pháp cho văn bản thuần túy
- Bình thường hóa và nội dung gốc
- Token hóa thành unigram (có thể cả bigram nữa)
- Truy xuất số lượng của mỗi unigram cho tài liệu đã cho, lọc các từ có độ dài thấp và các từ xuất hiện thấp
- Huấn luyện một trình phân loại như NaiveBayes trên tập kết quả
Câu hỏi của tôi là như sau: tf-idf sẽ phù hợp ở đâu? Trước khi bình thường hóa / xuất phát? Sau khi bình thường hóa nhưng trước khi token hóa? Sau khi token hóa?
Bất kỳ cái nhìn sâu sắc sẽ được đánh giá rất nhiều.
Biên tập:
Khi kiểm tra kỹ hơn, tôi nghĩ rằng tôi có thể đã gặp phải một sự hiểu lầm về cách TF-IDF hoạt động. Ở bước 4 ở trên mà tôi mô tả, tôi có phải cung cấp toàn bộ dữ liệu của mình vào TF-IDF cùng một lúc không? Nếu, ví dụ, dữ liệu của tôi như sau:
[({tokenized_content_site1}, category_string_site1),
({tokenized_content_site2}, category_string_site2),
...
({tokenized_content_siten}, category_string_siten)}]
Ở đây, cấu trúc ngoài cùng là một danh sách, chứa các bộ dữ liệu, chứa một từ điển (hoặc hashmap) và một chuỗi.
Tôi có phải cung cấp toàn bộ dữ liệu đó vào máy tính TF-IDF cùng một lúc để đạt được hiệu quả mong muốn không? Cụ thể, tôi đã xem xét TfidfVectorizer để tìm hiểu điều này, nhưng tôi không chắc lắm về việc sử dụng nó như các ví dụ khá thưa thớt.
({tokenized content}, category)
. Vì tôi có các trang web tập huấn trong cơ sở dữ liệu và đã được phân loại, nên đó không phải là vấn đề. Các nhãn mà trình phân loại sẽ có thể áp dụng sẽ chỉ là những nhãn mà nó đã thấy từ tập huấn luyện có chú thích, đúng không?