Czyszczenie tekstu na potrzeby AI za pomocą wyrażeń regularnych
Usuwanie tagów HTML, interpunkcji, adresów URL i e-maili — budowanie funkcji wstępnego przetwarzania tekstu.
Czyszczenie tekstu na potrzeby AI za pomocą wyrażeń regularnych to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 4 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 Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Dlaczego czyścić tekst dla AI?
Surowy tekst z internetu jest pełen szumu: tagów HTML, adresów URL, adresów e-mail, nadmiarowych białych znaków i znaków specjalnych. Przekazywanie takich danych do modelu marnuje jego zasoby i pogarsza jakość wyników.
Wyrażenia regularne są podstawowym narzędziem wstępnego przetwarzania tekstu. Zbudujemy potok czyszczenia krok po kroku.
Nieuporządkowany przykład
Oto przykład ciągu znaków, który można pobrać ze strony internetowej. Każdy etap czyszczenia usuwa jeden rodzaj szumu.
raw = "<p>Contact us at info@shop.com or visit https://shop.com NOW!!! Thanks</p>"Usuwanie tagów HTML
Tagi HTML wyglądają tak: <tag>. Wzorzec <[^>]+> dopasowuje znak <, następnie dowolne znaki inne niż >, a na końcu znak >.
Należy zastąpić je pustym ciągiem. (W przypadku złożonego kodu HTML lepiej użyć parsera, takiego jak BeautifulSoup, ale wyrażenie regularne wystarczy do szybkiego czyszczenia).
import re
text = re.sub("<[^>]+>", "", raw)
print(text) # "Contact us at info@shop.com or visit https://shop.com NOW!!! Thanks"Usuwanie adresów URL
Adresy URL zaczynają się od http:// lub https://, po których występują znaki inne niż spacje. Należy je dopasować i usunąć.
import re
text = re.sub("https?://\S+", "", text)
print(text) # URL removedUsuwanie adresów e-mail
Prosty wzorzec adresu e-mail składa się ze znaków słownych, znaku @, domeny, kropki i domeny najwyższego poziomu.
import re
text = re.sub("\S+@\S+\.\S+", "", text)
print(text) # email removedMaskowanie zamiast usuwania
W zbiorach danych zawierających informacje wrażliwe często maskuje się dane zamiast je usuwać, zachowując strukturę zdań.
import re
masked = re.sub("\S+@\S+\.\S+", "[EMAIL]", "reach me at a@b.com please")
print(masked) # "reach me at [EMAIL] please"Usuwanie znaków specjalnych
Należy zachować litery, cyfry i spacje, a za pomocą zanegowanego zestawu usunąć znaki interpunkcyjne i symbole. W zależności od zadania należy zdecydować, czy zachować niektóre znaki interpunkcyjne.
import re
text = re.sub("[^A-Za-z0-9 ]", "", "Hello!! @world #2026")
print(text) # "Hello world 2026"Normalizacja białych znaków
Po czyszczeniu pozostają podwójne spacje i przypadkowe znaki nowego wiersza. Należy zamienić każdy ciąg białych znaków na pojedynczą spację za pomocą \s+, a następnie usunąć białe znaki z początku i końca przez strip().
import re
text = re.sub("\s+", " ", "Hello world\n\n again").strip()
print(text) # "Hello world again"Zamiana na małe litery i znaczenie kolejności
Zamiana na małe litery jest często stosowana dla zachowania spójności, ale należy wykonywać ją ostrożnie. Znaczenie ma także kolejność: tagi HTML należy usunąć przed znakami specjalnymi, a białe znaki normalizować na końcu, aby wcześniejsze usuwanie nie pozostawiało luk.
text = text.lower()
# Pipeline order: tags -> urls -> emails -> specials -> whitespace -> lowercaseBudowanie potoku czyszczenia
Należy połączyć te kroki w jednej funkcji, aby każdy dokument był przetwarzany w ten sam sposób. Podczas przetwarzania wielu dokumentów warto wstępnie skompilować wzorce, aby zwiększyć wydajność.
import re
def clean_text(s):
s = re.sub("<[^>]+>", " ", s) # html tags
s = re.sub("https?://\S+", " ", s) # urls
s = re.sub("\S+@\S+\.\S+", " ", s) # emails
s = re.sub("[^A-Za-z0-9 ]", " ", s) # special chars
s = re.sub("\s+", " ", s).strip() # whitespace
return s.lower()
print(clean_text(raw))Zastosowanie potoku do obiektu DataFrame
Należy uruchomić funkcję czyszczącą dla całej kolumny tekstowej za pomocą apply, tworząc kolumnę gotową do użycia przez model.
import pandas as pd
df["clean"] = df["text"].apply(clean_text)
print(df[["text", "clean"]].head())Szybkie sprawdzenie: normalizacja białych znaków
Po czyszczeniu tekst zawiera ciągi wielu spacji i znaków nowego wiersza, które należy zamienić na pojedyncze spacje.
Podsumowanie: czyszczenie tekstu za pomocą wyrażeń regularnych
Zbudowano rzeczywisty potok wstępnego przetwarzania:
- Usuwanie kodu HTML za pomocą
<[^>]+> - Usuwanie adresów URL (
https?://\S+) i adresów e-mail - Maskowanie danych wrażliwych za pomocą symboli zastępczych, takich jak
[EMAIL] - Usuwanie znaków specjalnych za pomocą zanegowanego zestawu
- Normalizacja białych znaków za pomocą
\s+istrip() - Umieszczenie całości w funkcji i zastosowanie jej do kolumny za pomocą
apply
To kończy część dotyczącą wyrażeń regularnych dla tekstu używanego przez AI. Następnie: bazy danych w projektach AI.
Często zadawane pytania
Czy lekcja „Czyszczenie tekstu na potrzeby AI za pomocą wyrażeń regularnych” jest bezpłatna?
Tak — pełny tekst „Czyszczenie tekstu na potrzeby AI za pomocą wyrażeń regularnych” 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 Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Co nauczysz się w „Czyszczenie tekstu na potrzeby AI za pomocą wyrażeń regularnych”?
Usuwanie tagów HTML, interpunkcji, adresów URL i e-maili — budowanie funkcji wstępnego przetwarzania tekstu. Ćwiczysz Learn AI with Python 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ąć Learn AI with Python?
Nie wymagamy żadnego doświadczenia. Learn AI with Python 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 4 z 4.
Ile czasu zajmuje lekcja „Czyszczenie tekstu na potrzeby AI za pomocą wyrażeń regularnych”?
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 Learn AI with Python?
Tak. Każda lekcja Learn AI with Python 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
- Wzorce wyrażeń regularnych i klasy znaków
- Moduł re: search, match, findall, sub
- Grupy przechwytujące i nazwane
- Czyszczenie tekstu na potrzeby AI za pomocą wyrażeń regularnych