0Pricing
NLP Academy · Lekcja

TF-IDF za pomocą scikit-learn

Wektoryzuj korpus w kilku wierszach

TF-IDF za pomocą scikit-learn to bezpłatna lekcja NLP Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej NLP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs NLP Academy zawiera 4 lekcji w sumie.

Nie trzeba kodować tego ręcznie

Znają już Państwo matematykę, więc teraz można powierzyć żmudną pracę bibliotece scikit-learn. Jej klasa TfidfVectorizer w kilku wierszach zamienia surowe dokumenty na macierz ważonych cech.

Importowanie wektoryzatora

Wszystko znajduje się w module feature_extraction.text. Wystarczy zaimportować TfidfVectorizer, aby móc wektoryzować dowolną listę ciągów tekstowych.

from sklearn.feature_extraction.text import TfidfVectorizer

Korpus to lista

Korpus to po prostu pythonowa lista ciągów tekstowych, po jednym dla każdego dokumentu. Każdy element zawiera pełny tekst, który ma zostać oceniony i porównany.

corpus = [
    "the cat sat on the mat",
    "the dog chased the cat",
]

Dopasowanie i transformacja

Wywołanie fit_transform w jednym kroku uczy słownika i oblicza TF-IDF. Zwraca ono rzadką macierz ważonych cech.

vec = TfidfVectorizer()
X = vec.fit_transform(corpus)
print(X.shape)

Czego uczy się fit

Krok fit tworzy słownik i wartości IDF na podstawie korpusu. Od tej chwili wektoryzator zna każdy termin oraz jego rzadkość.

Sprawdzanie słownika

Można wyświetlić nazwy poznanych cech, aby zobaczyć kolumny. get_feature_names_out pokazuje każde słowo w kolejności słownika. 🔎

print(vec.get_feature_names_out())

Wynik jest rzadki

Większość dokumentów używa tylko kilku słów, dlatego macierz składa się głównie z zer. scikit-learn domyślnie przechowuje ją jako oszczędzającą pamięć macierz rzadką.

Podgląd rzeczywistych liczb

Wiersz można przekonwertować na gęstą tablicę, aby odczytać wagi. Wypełniacze znajdujące się blisko zera oraz słowa związane z tematem stają się wtedy wyraźnie widoczne.

print(X.toarray()[0].round(3))

Dostrajanie za pomocą parametrów

Przydatne opcje pozwalają natychmiast odrzucać rzadkie lub często występujące terminy. Parametry min_df i stop_words umożliwiają oczyszczenie słownika podczas wektoryzacji.

vec = TfidfVectorizer(stop_words="english", min_df=2)

Ponowne użycie dla nowego tekstu

Najpierw należy wykonać dopasowanie na danych treningowych, a następnie wywołać transform dla nowych dokumentów. Nowy tekst zostanie odwzorowany w dokładnie tym samym słowniku i według tej samej skali IDF.

new_docs = ["a new cat appeared"]
X_new = vec.transform(new_docs)

Gotowe do użycia w modelu

Ta ważona macierz pasuje bezpośrednio do dowolnego klasyfikatora scikit-learn. Cechy TF-IDF stanowią solidny i szybki punkt odniesienia dla rzeczywistych zadań związanych z tekstem.

Szybkie sprawdzenie

Jaka metoda jednocześnie uczy się słownika i oblicza macierz TF-IDF?

Podsumowanie

Zaimportowali Państwo TfidfVectorizer, dopasowali go do korpusu, obejrzeli rzadki wynik i nauczyli się używać go ponownie dla nowych tekstów. Matematyka sprowadza się teraz do jednej linii kodu. ✅

Często zadawane pytania

Czy lekcja „TF-IDF za pomocą scikit-learn” jest bezpłatna?

Tak — pełny tekst „TF-IDF za pomocą scikit-learn” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu NLP Academy, przejdź na CoddyKit PRO. Kurs NLP Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „TF-IDF za pomocą scikit-learn”?

Wektoryzuj korpus w kilku wierszach Ćwiczysz NLP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć NLP Academy?

Nie wymagamy żadnego doświadczenia. NLP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „TF-IDF za pomocą scikit-learn”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji NLP Academy?

Tak. Każda lekcja NLP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Problem z surowymi zliczeniami
  2. Częstość terminu i odwrotna częstość dokumentu
  3. TF-IDF za pomocą scikit-learn
  4. Wyszukiwanie najważniejszych słów
← Powrót do NLP Academy