Tokenizuj tekst za pomocą NLTK w Pythonie
Tokenizacja tekstu to podstawowa technika przetwarzania języka naturalnego (NLP), a jedną z takich technik jest Tokenizacja. Jest to proces dzielenia tekstu na mniejsze elementy lub tokeny. Mogą to być:
- Słowa: Kocham NLP → [„Kocham” „NLP”]
- Zdania: Kocham NLP. Python jest świetny. → ['Uwielbiam NLP.' „Python jest świetny.”]
Z popularną biblioteką Pythona NLTK (Natural Language Toolkit) dzielenie tekstu na znaczące jednostki staje się zarówno proste, jak i niezwykle skuteczne.
Podstawowa implementacja
Zobaczmy implementację tokenizacji przy użyciu NLTK w Pythonie
Krok 1: Zainstaluj i skonfiguruj
Zainstaluj punkt modele tokenizatora potrzebne do tokenizacji zdań i słów.
Python ! pip install nltk import nltk nltk . download ( 'punkt' )
Krok 2: Tokenizuj zdania
send_tokenize() dzieli ciąg znaków na listę zdań obsługujących znaki interpunkcyjne i skróty.
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 )
Wyjście:
['NLTK to świetny zestaw narzędzi NLP.' 'Dzięki temu przetwarzanie tekstu jest łatwe!']
Krok 3: Tokenizuj słowa
- word_tokenize() dzieli zdanie na słowa i znaki interpunkcyjne jako osobne tokeny.
- Obsługuje skurcze, liczby interpunkcyjne i nie tylko.
from nltk.tokenize import word_tokenize sentence = 'Tokenization is easy with NLTK's word_tokenize.' words = word_tokenize ( sentence ) print ( words )
Wyjście:
[„Tokenizacja” „jest” „łatwa” „z” „NLTK” „s” „word_tokenize” „.”]
Zobaczmy więcej przykładów
1. WordPunctTokenizer
To Dzieli tekst na znaki alfabetyczne i niealfabetyczne
- Rozdziela wszystkie ciągi znaków słownych i znaków interpunkcyjnych na tokeny.
- Zwłaszcza rozdziela skurcze (nie staje się nie rób).
- Dzieli e-maile na e-maile.
from nltk.tokenize import WordPunctTokenizer tokenizer = WordPunctTokenizer () tokens = tokenizer . tokenize ( 'Don't split contractions. E-mails: [email protected]!' ) print ( tokens )
Wyjście:
['Nie' ''' 't' 'rozdzielaj' 'skurcze' '.' 'E' '-' 'maile' ':' 'cześć' '@' 'przykład' '.' „com” „!”]
2. TreebankWordTokenizer
Nadaje się do analizy językowej, obsługuje interpunkcję i skróty.
- Naśladuje tokenizację w stylu Penn Treebank, która jest powszechnie używana w analizie językowej NLP.
- Bardziej inteligentnie radzi sobie z niektórymi angielskimi strukturami gramatycznymi.
from nltk.tokenize import TreebankWordTokenizer tokenizer = TreebankWordTokenizer () tokens = tokenizer . tokenize ( 'Have a look at NLTK's tokenizers.' ) print ( tokens )
Wyjście:
[„Przyjrzyj się” „NLTK” „tokenizatorom” „.”]
3. Tokenizator Regex
Dostosowuje podział oparty na wzorach.
- Tokenizuje w oparciu o wzorzec wyrażenia regularnego.
- w+ dopasowuje słowa i liczby, całkowicie pomijając znaki interpunkcyjne.
from nltk.tokenize import RegexpTokenizer tokenizer = RegexpTokenizer ( r 'w+' ) tokens = tokenizer . tokenize ( 'Custom rule: keep only words & numbers drop punctuation!' ) print ( tokens )
Wyjście:
[„Niestandardowa” „reguła” „zachowaj” „tylko” „słowa” „liczby” „upuść” „interpunkcja”]
NLTK zapewnia użyteczny i przyjazny dla użytkownika zestaw narzędzi do tokenizacji tekstu w Pythonie, obsługujący szereg potrzeb w zakresie tokenizacji, od podstawowego dzielenia słów i zdań po zaawansowane niestandardowe wzorce.
Utwórz quiz