トークン化と正規化
テキストの前処理手法を学びます
「トークン化と正規化」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン2/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全5レッスンが含まれています。
テキスト前処理の基礎
トークン化と正規化
テキストの前処理は、NLPにおける重要な手順です。分析できるように、生のテキストを構造化された形式へ変換します。主な前処理には、トークン化と正規化があります。

トークン化とは
トークン化とは
トークン化とは、テキストをトークンと呼ばれる小さな単位に分割する処理です。トークンには、単語、文、文字などがあります。
たとえば、次のようになります:
テキスト: "NLP is amazing!"
トークン: ["NLP", "is", "amazing", "!"]
Pythonでのトークン化の例
Pythonでのトークン化の例
NLTKライブラリを使うと、テキストを単語や文にトークン化できます:
from nltk.tokenize import word_tokenize, sent_tokenize
# Example text
text = "Tokenization is a key step in NLP. Let's learn it!"
# Word Tokenization
word_tokens = word_tokenize(text)
print("Word Tokens:", word_tokens)
# Sentence Tokenization
sentence_tokens = sent_tokenize(text)
print("Sentence Tokens:", sentence_tokens)正規化とは
正規化とは
正規化では、テキストを整理して標準化します。一般的な正規化の手法には、次のようなものがあります:
- 小文字化: すべてのテキストを小文字に変換します。
- 句読点の除去: 句読点を取り除きます。
- ステミング: 単語を語根の形に縮約します(例:"running" → "run")。
- レンマ化: 文脈を考慮して、単語を基本形に縮約します(例:"better" → "good")。
小文字化と句読点の除去
小文字化と句読点の除去
テキストを小文字に変換し、句読点を取り除いて正規化する方法を見てみましょう:
import string
# Example text
text = "Normalization in NLP is Important!"
# Lowercasing
text = text.lower()
# Removing Punctuation
text = text.translate(str.maketrans('', '', string.punctuation))
print("Normalized Text:", text)ステミングとレンマ化
ステミングとレンマ化
ステミング: 語尾を切り落として、単語を語根に縮約します。ルールベースの手法であるため、常に正しい単語になるとは限りません。
レンマ化: 語彙と文法規則を使って、単語を意味のある基本形に縮約します。
from nltk.stem import PorterStemmer, WordNetLemmatizer
# Example text
word = "running"
# Stemming
stemmer = PorterStemmer()
print("Stemmed Word:", stemmer.stem(word))
# Lemmatization
lemmatizer = WordNetLemmatizer()
print("Lemmatized Word:", lemmatizer.lemmatize(word, pos='v'))ストップワードの除去
ストップワードの除去
ストップワードとは、(例:"is"、"and"、"the")重要な意味を持たないことが多い一般的な単語です。ストップワードを除去すると、テキスト分析を簡略化できます:
from nltk.corpus import stopwords
# Example text
text = "This is a simple NLP example."
# Tokenize text
words = word_tokenize(text)
# Remove stopwords
stop_words = set(stopwords.words('english'))
filtered_words = [word for word in words if word.lower() not in stop_words]
print("Filtered Words:", filtered_words)テキスト前処理における課題
テキスト前処理における課題
テキストの前処理が難しい理由には、次のようなものがあります:
- 曖昧性: 「lead」のような単語には、複数の意味があります。
- 文脈: レンマ化には、単語が使われている文脈の理解が必要です。
- 言語の違い: 異なる言語や方言に対応する必要があります。
まとめと次のステップ
まとめと次のステップ
このレッスンでは、次のことを学びました:
- トークン化と正規化について学びました。
- ステミング、レンマ化、ストップワードの除去などの手法について学びました。
- Pythonを使ってテキストの前処理を実践しました。
次は、N-Gramモデルを使ってテキストのパターンを分析します。

よくある質問
「トークン化と正規化」レッスンは無料ですか?
はい。「トークン化と正規化」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全5レッスンが含まれています。
「トークン化と正規化」で何を学びますか?
テキストの前処理手法を学びます ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/5です。
「トークン化と正規化」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。