Sobes.tech
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())