0Pricing
Learn AI with Python · レッスン

トークン化と正規化

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

「トークン化と正規化」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン2/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全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チューター)、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フィードバックを取得できます。ローカル設定は不要です。

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

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