PythonでNLTKを使用してテキストをトークン化する

テキストのトークン化は基本的な自然言語処理 (NLP) 技術であり、そのような技術の 1 つが次のとおりです。 トークン化。  これは、テキストをより小さなコンポーネントまたはトークンに分割するプロセスです。これらは次のとおりです。

  • 言葉: NLP が大好きです → [「私」「大好き」「NLP」]
  • 文: 私は NLP が大好きです。パイソンは素晴らしいです。 → [「NLP が大好きです。」 「Python は素晴らしいです。」

Python の人気ライブラリを使用  NLTK (自然言語ツールキット)テキストを意味のある単位に分割することは、簡単かつ非常に効果的になります。

基本的な実装

Python で NLTK を使用したトークン化の実装を見てみましょう

ステップ 1: インストールとセットアップ

をインストールします ポイント 文と単語のトークン化に必要なトークナイザー モデル。

Python
   !  pip   install   nltk   import   nltk   nltk  .  download  (  'punkt'  )   

ステップ 2: 文をトークン化する

send_tokenize() は、文字列を句読点と略語を処理する文のリストに分割します。

Python
   from   nltk.tokenize   import   sent_tokenize   text   =   'NLTK is a great NLP toolkit. It makes processing text easy!'   sentences   =   sent_tokenize  (  text  )   print  (  sentences  )   

出力:

[「NLTK は優れた NLP ツールキットです。」 「テキストの処理が簡単になります!」]

ステップ 3: 単語をトークン化する

  • word_tokenize() は、文を単語と句読点に個別のトークンとして分割します。
  • 短縮形の句読点番号などを処理します。
Python
   from   nltk.tokenize   import   word_tokenize   sentence   =   'Tokenization is easy with NLTK's word_tokenize.'   words   =   word_tokenize  (  sentence  )   print  (  words  )   

出力:

[「トークン化」は「NLTK」「s」「word_tokenize」を使用すると「簡単」「.」]

さらにいくつかの例を見てみましょう

1.WordPunctTokenizer

それ テキストをアルファベット文字とアルファベット以外の文字に分割します

  • 一連の単語文字と句読点をすべてトークンに分割します。
  • 特に分割収縮(Don'tがDon'tになる)。
  • 電子メールを電子メールに分割します。
Python
   from   nltk.tokenize   import   WordPunctTokenizer   tokenizer   =   WordPunctTokenizer  ()   tokens   =   tokenizer  .  tokenize  (   'Don't split contractions. E-mails: [email protected]!'  )   print  (  tokens  )   

出力:

[「ドン」「」「ト」「裂ける」「収縮」「。」 「E」「-」「メール」「:」「こんにちは」「@」「例」「.」 「com」「!」]

2. TreebankWordTokenizer

句読点や短縮語を扱う言語分析に適しています。

  • NLP 言語分析に一般的に使用される Penn Treebank スタイルのトークン化を模倣します。
  • 特定の英語の文法構造をよりインテリジェントに処理します。
Python
   from   nltk.tokenize   import   TreebankWordTokenizer   tokenizer   =   TreebankWordTokenizer  ()   tokens   =   tokenizer  .  tokenize  (  'Have a look at NLTK's tokenizers.'  )   print  (  tokens  )   

出力:

['NLTK' 's' 'トークナイザー' 'を'持っている' '見て' '.']

3.正規表現トークナイザー

パターンベースの分割をカスタマイズします。

  • 正規表現パターンに基づいてトークン化します。
  • w+ は、句読点を完全に省略した単語と数字に一致します。
Python
   from   nltk.tokenize   import   RegexpTokenizer   tokenizer   =   RegexpTokenizer  (  r  'w+'  )   tokens   =   tokenizer  .  tokenize  (   'Custom rule: keep only words & numbers drop punctuation!'  )   print  (  tokens  )   

出力:

[「カスタム」「ルール」「維持」「のみ」「単語」「数字」「ドロップ」「句読点」]

NLTK は、Python でテキストをトークン化するための便利でユーザーフレンドリーなツールキットを提供し、基本的な単語や文の分割から高度なカスタム パターンまで、幅広いトークン化ニーズをサポートします。

クイズの作成