Word2Vec nhúng với TF-IDF


11

Khi bạn huấn luyện mô hình word2vec (ví dụ sử dụng gensim), bạn cung cấp một danh sách các từ / câu. Nhưng dường như không có cách nào để xác định trọng số cho các từ được tính ví dụ bằng TF-IDF.

Là cách thông thường để nhân các vectơ từ với trọng số TF-IDF liên quan? Hoặc word2vec hữu cơ có thể tận dụng những lợi thế này bằng cách nào đó?

Câu trả lời:


9

Các thuật toán Word2Vec (Skip Gram và CBOW) đối xử với từng từ bằng nhau, vì mục tiêu của chúng là tính toán các từ nhúng. Sự khác biệt trở nên quan trọng khi người ta cần làm việc với các câu hoặc tài liệu nhúng: không phải tất cả các từ đều đại diện cho ý nghĩa của một câu cụ thể. Và ở đây các chiến lược trọng số khác nhau được áp dụng, TF-IDF là một trong số đó, và theo một số bài báo, là khá thành công. Từ câu hỏi này từ StackOverflow :

Trong tác phẩm này, các tweet được mô hình hóa bằng ba loại biểu diễn văn bản. Cái đầu tiên là một mô hình túi từ có trọng số bởi tf-idf (tần số thuật ngữ - tần số tài liệu nghịch đảo) (Mục 2.1.1). Câu thứ hai đại diện cho một câu bằng cách lấy trung bình các từ nhúng của tất cả các từ (trong câu) và câu thứ ba thể hiện một câu bằng cách lấy trung bình các từ nhúng có trọng số của tất cả các từ, trọng số của một từ được đưa ra bởi tf-idf (Mục 2.1.2 ).


2

Huấn luyện một tfidfvectorizer với kho văn bản của bạn và sử dụng mã sau đây:

tfidf = Tfidfvectorizer () dict(zip(tfidf.get_feature_names(), tfidf.idf_)))

Bây giờ bạn có một từ điển với các từ là khóa và trọng số của nó là các giá trị tương ứng.

Hãy cho tôi biết nếu nó hoạt động.


Có nó làm. Cảm ơn bạn đã giúp đỡ.
Tanveer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.