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 TfidfVectorizerKorpus 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
- Problem z surowymi zliczeniami
- Częstość terminu i odwrotna częstość dokumentu
- TF-IDF za pomocą scikit-learn
- Wyszukiwanie najważniejszych słów