Токенізуйте текст за допомогою NLTK у python

Токенізація тексту є фундаментальною технікою обробки природної мови (NLP), і одна з таких технік є Токенізація.  Це процес поділу тексту на менші компоненти або лексеми. Це можуть бути:

  • Слова: I love NLP → ['I' 'love' 'NLP']
  • Речення: Я люблю НЛП. Python чудовий. → ['Я люблю НЛП.' «Python чудовий».]

З популярною бібліотекою Python  NLTK (Natural Language Toolkit) поділ тексту на значущі одиниці стає простим і надзвичайно ефективним.

Базова реалізація

Давайте подивимося реалізацію токенізації за допомогою NLTK у Python

Крок 1: встановлення та налаштування

Встановіть точка моделі токенізера, необхідні для токенізації речень і слів.

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

Крок 2: Токенізуйте речення

sent_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 — чудовий інструментарій НЛП.' "Це полегшує обробку тексту!"]

Крок 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  )   

Вихід:

['Don' ''' 't' 'split' 'contractions' '.' 'E' '-' 'mails' ':' 'hello' '@' 'example' '.' 'com' '!']

2. TreebankWordTokenizer

Він підходить для лінгвістичного аналізу, обробляє знаки пунктуації та скорочення.

  • Імітує токенізацію в стилі Penn Treebank, яка зазвичай використовується для лінгвістичного аналізу NLP.
  • Більш розумно оперує певними граматичними структурами англійської мови.
Python
   from   nltk.tokenize   import   TreebankWordTokenizer   tokenizer   =   TreebankWordTokenizer  ()   tokens   =   tokenizer  .  tokenize  (  'Have a look at NLTK's tokenizers.'  )   print  (  tokens  )   

Вихід:

['Погляньте' 'на' 'NLTK' ''s' 'токенизатори' '.']

3. Regex Tokenizer

Він налаштовує поділ на основі шаблону.

  • Токенізує на основі шаблону регулярного виразу.
  • w+ відповідає словам і цифрам без пунктуації.
Python
   from   nltk.tokenize   import   RegexpTokenizer   tokenizer   =   RegexpTokenizer  (  r  'w+'  )   tokens   =   tokenizer  .  tokenize  (   'Custom rule: keep only words & numbers drop punctuation!'  )   print  (  tokens  )   

Вихід:

['Custom' 'rule' 'keep' 'only' 'words' 'numbers' 'drop' 'punctuation']

NLTK надає корисний і зручний набір інструментів для токенізації тексту в Python, який підтримує низку потреб токенізації від базового поділу слів і речень до розширених настроюваних шаблонів.

Створіть вікторину