NLTK トークナイズ: 単語と文のトークナイザーと例

トークン化とは何ですか?

トークン化 大量のテキストをトークンと呼ばれる小さな部分に分割するプロセスです。 これらのトークンはパターンを見つけるのに非常に役立ち、ステミングと見出し語化の基本ステップとして考慮されます。 トークン化は、機密データ要素を非機密データ要素に置き換えるのにも役立ちます。

自然言語処理は、テキスト分類、 インテリジェント chatbot、感情分析、言語翻訳など。上記の目的を達成するには、テキスト内のパターンを理解することが重要になります。

当面は、ステミングと見出し語化については心配せず、NLP (自然言語処理) を使用したテキスト データのクリーニングのステップとして扱います。ステミングと見出し語化について説明します later チュートリアルで。などのタスク テキスト分類またはスパムフィルタリング Keras や Keras などの深層学習ライブラリとともに NLP を利用します。 テンソルフロー.

自然言語ツールキットには非常に重要なモジュール NLTK があります トークン化する さらにサブモジュールで構成される文

  1. 単語のトークン化
  2. 文のトークン化

単語のトークン化

私たちはこの方法を使用します word_tokenize() 文を単語に分割すること。 単語のトークン化の出力は、機械学習アプリケーションでのテキストの理解を向上させるためにデータ フレームに変換できます。 また、句読点の削除、数字の削除、ステミングなどのさらなるテキスト クリーニング ステップの入力として提供することもできます。 機械学習モデルには、トレーニングと予測を行うための数値データが必要です。 Word のトークン化は、テキスト (文字列) から数値データへの変換の重要な部分になります。 についてお読みください Bag of Word または CountVectorizer。 理論をよりよく理解するには、以下の単語トークン化 NLTK の例を参照してください。

from nltk.tokenize import word_tokenize
text = "God is Great! I won a lottery."
print(word_tokenize(text))

Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

単語のトークン化

コードの説明

  1. word_tokenize モジュールは NLTK ライブラリからインポートされます。
  2. 変数「text」は XNUMX つの文で初期化されます。
  3. テキスト変数は word_tokenize モジュールに渡され、結果が出力されます。 このモジュールは、出力で確認できるように、各単語を句読点で区切ります。

文のトークン化

上記に使用できるサブモジュールは send_tokenize です。 あなたの頭の中で次のような疑問が浮かぶでしょう。 単語のトークン化のオプションがあるのに、なぜ文のトークン化が必要なのか。 文ごとの平均単語を数える必要があると想像してください。どのように計算しますか? このようなタスクを実行するには、比率を計算するために NLTK 文トークナイザーと NLTK 単語トークナイザーの両方が必要です。 このような出力は、答えが数値になるため、機械トレーニングの重要な機能として機能します。

以下の NLTK トークナイザーの例を確認して、文のトークン化が単語のトークン化とどのように異なるかを確認してください。

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print(sent_tokenize(text))

Output: ['God is Great!', 'I won a lottery ']

我々は持っています 12 言葉と XNUMX文 同じ入力に対して。

文のトークン化

プログラムの説明

  1. 前のプログラムと同様の行で、sent_tokenize モジュールをインポートしました。
  2. 私たちも同じ文を取り上げました。 NLTK モジュールのさらに文トークナイザーがその文を解析し、出力を表示します。 この関数が各文を分割していることは明らかです。

単語トークナイザーの上 Python これらの例は、単語と文のトークン化の仕組みを理解するための良い設定資料となります。

まとめ

  • でのトークン化 NLP 大量のテキストをトークンと呼ばれる小さな部分に分割するプロセスです。
  • 自然言語処理は、テキスト分類、インテリジェントなアプリケーションなどのアプリケーションの構築に使用されます。 chatbot、感情分析、言語翻訳など。
  • 自然言語ツールキットには、さらにサブモジュールで構成される非常に重要なモジュール NLTK トークン化文が含まれています
  • word_tokenize() メソッドを使用して、文を単語に分割します。 NLTK の単語トークナイザーの出力は、機械学習アプリケーションでのテキストの理解を向上させるためにデータ フレームに変換できます。
  • 上記に使用できるサブモジュールは send_tokenize です。 Python NLTK の文トークナイザーは、機械トレーニングにとって重要な機能です。