Công cụ tính TF-IDF là gì?
TF-IDF (Term Frequency–Inverse Document Frequency, tức Tần suất từ – Tần suất tài liệu nghịch đảo) là một chỉ số thống kê được dùng rộng rãi trong truy xuất thông tin, công cụ tìm kiếm và khai phá văn bản nhằm đo lường mức độ quan trọng của một từ đối với một tài liệu cụ thể trong tổng thể một tập hợp tài liệu lớn hơn (gọi là corpus, hay tập ngữ liệu). Công cụ này cho phép bạn nhập một tài liệu, một từ khóa cần xét, tổng số tài liệu trong tập ngữ liệu của bạn, cùng với số lượng tài liệu thực sự chứa từ khóa đó. Từ những thông tin này, công cụ sẽ tính ra tần suất từ (TF), tần suất tài liệu nghịch đảo (IDF) và điểm TF-IDF tổng hợp.
Cách sử dụng
- Tài liệu: Dán nội dung văn bản mà bạn muốn phân tích.
- Từ khóa: Nhập một từ hoặc cụm từ mà bạn muốn chấm điểm.
- Kích thước tập ngữ liệu: Tổng số tài liệu trong bộ sưu tập của bạn (\(N\)).
- Số tài liệu chứa từ khóa: Có bao nhiêu tài liệu chứa từ khóa ít nhất một lần.
Công cụ sẽ đếm số lần từ khóa xuất hiện trong tài liệu của bạn, chia cho tổng số từ, rồi kết hợp kết quả đó với mức độ hiếm gặp của từ khóa trên toàn bộ tập ngữ liệu.
Giải thích công thức
Công thức TF-IDF tiêu chuẩn như sau:
- TF \(= \dfrac{\text{số lần từ khóa xuất hiện trong tài liệu}}{\text{tổng số từ trong tài liệu}}\)
- IDF \(= \log\!\left(\dfrac{N}{\text{số tài liệu chứa từ khóa}}\right)\)
- TF-IDF \(= \text{TF} \times \text{IDF}\)
$$\text{TF-IDF} = \text{TF} \times \text{IDF}$$
Điểm TF-IDF càng cao nghĩa là từ khóa xuất hiện thường xuyên trong tài liệu của bạn nhưng lại hiếm gặp trên toàn tập ngữ liệu — đây là dấu hiệu mạnh cho thấy từ đó mang tính đặc trưng và có ý nghĩa quan trọng đối với tài liệu ấy.
Ví dụ minh họa
Giả sử tài liệu của bạn có 100 từ và từ "marketing" xuất hiện 5 lần. Tập ngữ liệu của bạn gồm 1.000 tài liệu, trong đó có 100 tài liệu nhắc đến "marketing".
- $$\text{TF} = 5 \div 100 = 0{,}05$$
- $$\text{IDF} = \log(1000 \div 100) = \log(10) = 1 \quad (\text{cơ số 10})$$
- $$\text{TF-IDF} = 0{,}05 \times 1 = 0{,}05$$
Nếu "marketing" chỉ xuất hiện trong 10 tài liệu, IDF sẽ tăng lên \(\log(100) = 2\), làm điểm số tăng gấp đôi lên \(0{,}10\) — tức là tưởng thưởng cho những từ hiếm gặp và mang tính đặc trưng hơn.
Câu hỏi thường gặp
Tại sao IDF lại dùng logarit? Hàm log giúp giảm nhẹ ảnh hưởng của những từ cực kỳ hiếm gặp, để một lần xuất hiện duy nhất không chi phối toàn bộ điểm số, nhờ đó kết quả luôn cân bằng.
Nên dùng cơ số log nào? Cả cơ số 10 lẫn logarit tự nhiên (\(\ln\)) đều phổ biến. Cơ số chỉ làm thay đổi kết quả theo cùng một tỷ lệ, nên việc so sánh trong cùng một tập ngữ liệu vẫn hoàn toàn hợp lệ.
Điểm bằng 0 có ý nghĩa gì? Nếu một từ xuất hiện trong mọi tài liệu (\(N = \) số tài liệu chứa từ), thì IDF trở thành \(\log(1) = 0\), khiến điểm TF-IDF bằng 0 — nghĩa là từ đó không mang giá trị phân biệt nào cả.