Tôi đến bữa tiệc muộn, nhưng tôi đã chơi với các khái niệm về tc-idf (tôi muốn nhấn mạnh từ 'khái niệm' vì tôi đã không theo dõi bất kỳ cuốn sách nào cho các tính toán thực tế; vì vậy chúng có thể bị tắt, và chắc chắn dễ dàng thực hiện hơn với các gói như {tm: Text Mining Package}
, như đã đề cập), và tôi nghĩ những gì tôi nhận được có thể liên quan đến câu hỏi này, hoặc trong mọi trường hợp, đây có thể là một nơi tốt để đăng nó.
CÀI ĐẶT: Tôi có một tập các 5
đoạn văn bản dài được lấy từ phương tiện truyền thông in, text 1
thông qua 5
như Thời báo New York . Bị cáo buộc, đó là một "cơ thể" rất nhỏ, một thư viện nhỏ, có thể nói, nhưng các mục trong thư viện "kỹ thuật số" này không phải là ngẫu nhiên: Các mục đầu tiên và thứ năm liên quan đến bóng đá (hoặc "bóng đá" cho "câu lạc bộ xã hội" (?) quanh đây), và cụ thể hơn là về đội bóng vĩ đại nhất hiện nay. Vì vậy, ví dụ, text 1
bắt đầu như ...
"Trong chín năm qua, Messi đã dẫn dắt FC Barcelona tới các danh hiệu quốc gia và quốc tế trong khi phá vỡ các kỷ lục cá nhân theo những cách có vẻ ngoài khác ..."
Rất đẹp! Mặt khác, bạn chắc chắn sẽ muốn bỏ qua nội dung trong ba mục ở giữa. Dưới đây là một ví dụ ( text 2
):
"Trong khoảng vài giờ trên khắp Texas, ông Rubio cho rằng ông Trump đã đi tiểu trong quần và sử dụng người nhập cư bất hợp pháp để loại bỏ các tin nhắn Twitter không ngớt của mình ..."
Vậy phải làm gì để tránh bằng mọi giá "lướt" từ text 1
đến text 2
, trong khi tiếp tục vui mừng trong tài liệu về Barcelona FC toàn năng trong text 5
?
TC-IDF: Tôi tách các từ text
thành từng vectơ dài. Sau đó đếm tần số của mỗi từ, tạo ra năm vectơ (mỗi vectơ text
) trong đó chỉ các từ gặp phải trong tương ứng text
được tính - tất cả các từ khác, thuộc về các text
s khác , đều có giá trị bằng 0. text 1
Ví dụ, trong đoạn đầu tiên , vectơ của nó sẽ có số 1 cho từ "Messi", trong khi "Trump" sẽ có 0. Đây là phần tc .
Phần idf cũng được tính riêng cho từng phần text
và tạo ra 5 "vectơ" (tôi nghĩ rằng tôi coi chúng là khung dữ liệu), chứa các phép biến đổi logarit của số lượng tài liệu (đáng buồn thay, chỉ từ 0 đến 5, cho thư viện nhỏ của chúng tôi ) có chứa một từ nhất định như trong:
đăng nhập( Số tài liệu1+Số tài liệu có chứa một từ)text
01text
tc × idftext
SO SÁNH: Bây giờ chỉ còn là vấn đề thực hiện các sản phẩm chấm trong số các "vectơ quan trọng của từ" này.
Có thể đoán được, chấm sản phẩm của text 1
với text 5
là 13.42645
, trong khi text 1
v. text2
Chỉ là 2.511799
.
Mã R clunky (không có gì để bắt chước) ở đây .
Một lần nữa, đây là một mô phỏng rất thô sơ, nhưng tôi nghĩ nó rất đồ họa.