Токенізуйте текст за допомогою 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() розділяє речення на слова та знаки пунктуації як окремі лексеми.
- Обробляє скорочення, знаки пунктуації тощо.
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).
- Розділяє електронні повідомлення на електронні повідомлення.
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.
- Більш розумно оперує певними граматичними структурами англійської мови.
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+ відповідає словам і цифрам без пунктуації.
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, який підтримує низку потреб токенізації від базового поділу слів і речень до розширених настроюваних шаблонів.
Створіть вікторину