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