Middle
როგორ მუშაობს TF-IDF?
sobes.tech AI
პასუხი AI-სგან
TF-IDF (Term Frequency-Inverse Document Frequency) სტატისტიკური ზომაა, რომელიც ასახავს სიტყვას დოკუმენტში მთელი დოკუმენტების კორპუსთან მიმართებაში.
- TF (ტერმინის სიხშირე) — ტერმინის სიხშირე კონკრეტულ დოკუმენტში. ჩვეულებრივ ითვლება როგორც სიტყვების რაოდენობა, გაყოფილი დოკუმენტის საერთო სიტყვების რაოდენობაზე.
- IDF (უკანასკნელი დოკუმენტის სიხშირე) — უკანა სიხშირე, რომელიც აჩვენებს, რამდენად იშვიათია სიტყვა მთელ დოკუმენტების ნაკრებში. ითვლება როგორც ლოგარითმი საერთო დოკუმენტების რაოდენობისა და დოკუმენტების რაოდენობისა, რომლებიც შეიცავენ ამ სიტყვას.
სიტყვის საბოლოო წონა დოკუმენტში — TF და IDF-ის გამრავლებაა:
[ \text{TF-IDF}(t,d) = \text{TF}(t,d) \times \log\frac{N}{1 + \text{DF}(t)} ]
სად:
- (t) — ტერმინი,
- (d) — დოკუმენტი,
- (N) — საერთო დოკუმენტების რაოდენობა,
- (\text{DF}(t)) — დოკუმენტების რაოდენობა, რომლებიც შეიცავენ ამ ტერმინს.
ეს ეხმარება გამოარჩიოს სიტყვები, რომლებიც ხშირად გვხვდება კონკრეტულ დოკუმენტში, მაგრამ იშვიათია სხვა დოკუმენტებში, რაც სასარგებლოა ტექსტის ვექტორიზაციისა და შემდგომი ანალიზისთვის.
Python-ში sklearn-ის გამოყენებით მაგალითი:
from sklearn.feature_extraction.text import TfidfVectorizer
docs = ["მანქანათმცოდნეობა საინტერესოა", "ტექსტის ბუნებრივი დამუშავება მნიშვნელოვანია"]
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(docs)
print(vectorizer.get_feature_names_out())
print(tfidf_matrix.toarray())