Tvoříme model podobný GPT (2.díl): Předzpracování dat

Předzpracování dat v Pythonu zahrnuje čištění, normalizaci a přípravu textových dat pro strojové učení nebo další analýzy. Zde je návod, jak naprogramovat předzpracování dat v Pythonu:

Importujte potřebné knihovny

Pro předzpracování textu můžete použít knihovny jako re (regulární výrazy) a nltk (Natural Language Toolkit). Nainstalujte knihovnu nltk pomocí pip, pokud ji ještě nemáte:

pip install nltk

Poté importujte knihovny do svého Python skriptu:

import re
import nltk

Stáhněte potřebné zdroje pro nltk

nltk.download("punkt")
nltk.download("stopwords")
nltk.download("wordnet")

Definujte funkce pro předzpracování

from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer

def remove_punctuation(text):
    return re.sub(r'[^\w\s]', '', text)

def to_lowercase(text):
    return text.lower()

def remove_stopwords(text):
    stop_words = set(stopwords.words("english"))
    word_tokens = word_tokenize(text)
    filtered_text = [word for word in word_tokens if word not in stop_words]
    return " ".join(filtered_text)

def lemmatize(text):
    lemmatizer = WordNetLemmatizer()
    word_tokens = word_tokenize(text)
    lemmatized_words = [lemmatizer.lemmatize(word) for word in word_tokens]
    return " ".join(lemmatized_words)

Aplikujte funkce pro předzpracování na text:

raw_text = "Here is some example text with Punctuation, Capitalization, and stopwords!"

# Odstraňte interpunkci
text_no_punctuation = remove_punctuation(raw_text)
print(text_no_punctuation)

# Převeďte text na malá písmena
text_lowercase = to_lowercase(text_no_punctuation)
print(text_lowercase)

# Odstraňte stopwords
text_no_stopwords = remove_stopwords(text_lowercase)
print(text_no_stopwords)

# Lemmatizujte text
text_lemmatized = lemmatize(text_no_stopwords)
print(text_lemmatized)

Tento kód odstraní interpunkci, převede text na malá písmena, odstraní stopwords a lemmatizuje slova. Můžete si přizpůsobit tyto funkce podle svých potřeb a požadavků na předzpracování.

Aplikujte předzpracování na celý dataset

Pokud máte dataset ve formě seznamu nebo jiné datové struktury, můžete použít smyčku nebo vektorizované operace (např. s pandas) pro předzpracování celého datasetu.

Práce s datasetem pomocí pandas

Pokud pracujete s tabulkovými daty, můžete použít knihovnu pandas pro snadné předzpracování. Nejprve nainstalujte knihovnu pandas pomocí pip, pokud ji ještě nemáte:

pip install pandas

Poté importujte knihovnu do svého Python skriptu:

import pandas as pd

Načtěte dataset pomocí pandas

data = {
    "text": [
        "Here is some example text with Punctuation, Capitalization, and stopwords!",
        "Another example sentence to demonstrate text preprocessing.",
    ]
}

df = pd.DataFrame(data)

Aplikujte předzpracování na dataset

df["cleaned_text"] = df["text"].apply(remove_punctuation)
df["cleaned_text"] = df["cleaned_text"].apply(to_lowercase)
df["cleaned_text"] = df["cleaned_text"].apply(remove_stopwords)
df["cleaned_text"] = df["cleaned_text"].apply(lemmatize)

Zkontrolujte výsledky

print(df[["text", "cleaned_text"]])

Výše uvedený kód načte dataset, aplikuje předzpracování na textové sloupce a vytvoří nový sloupec s předzpracovaným textem. Můžete si přizpůsobit tyto kroky podle svých potřeb a požadavků na předzpracování.

Uložte předzpracovaný dataset

Po předzpracování textu můžete uložit výsledný dataset do souboru, například ve formátu CSV:

df.to_csv("cleaned_data.csv", index=False)

Tímto způsobem můžete naprogramovat předzpracování dat v Pythonu. Upozorňujeme, že pro různé úkoly a jazyky můžete potřebovat různé metody a nástroje pro předzpracování. Přizpůsobte tento návod svým konkrétním potřebám a požadavkům na předzpracování dat.

Napsat komentář