0Pricing
Python Academy · レッスン

トークン化と正規化

テキストの前処理手法を学びます

「トークン化と正規化」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン2/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全5レッスンが含まれています。

テキスト前処理の基礎

トークン化と正規化

テキストの前処理は、NLPにおける重要な手順です。分析できるように、生のテキストを構造化された形式へ変換します。主な前処理には、トークン化と正規化があります。

トークン化と正規化 — イラスト1

トークン化とは

トークン化とは

トークン化とは、テキストをトークンと呼ばれる小さな単位に分割する処理です。トークンには、単語、文、文字などがあります。

たとえば、次のようになります:

テキスト: "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モデルを使ってテキストのパターンを分析します。

トークン化と正規化 — イラスト10

よくある質問

「トークン化と正規化」レッスンは無料ですか?

はい。「トークン化と正規化」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. テキストデータの扱い方
  2. トークン化と正規化
  3. N-Gramモデル
  4. 感情分析の概念
  5. Transformerベースのモデル
← Python Academyに戻る