Tokenizuokite tekstą naudodami NLTK python
Teksto prieigos raktas yra pagrindinė natūralios kalbos apdorojimo (NLP) technika, o viena iš tokių būdų yra Tokenizavimas. Tai teksto padalijimas į mažesnius komponentus arba žetonus. Tai gali būti:
- Žodžiai: Aš myliu NLP → [„Aš“ „myliu“ „NLP“]
- Sakiniai: Aš myliu NLP. Python yra puikus. → ['Aš myliu NLP.' „Python yra puikus.“]
Su populiaria Python biblioteka NLTK (Natural Language Toolkit) teksto skaidymas į prasmingus vienetus tampa paprastas ir itin efektyvus.
Pagrindinis įgyvendinimas
Pažiūrėkime, kaip įgyvendinamas Tokenization naudojant NLTK Python
1 veiksmas: įdiekite ir nustatykite
Įdiekite tašką žetonų modeliai, reikalingi sakinių ir žodžių ženklinimui.
Python ! pip install nltk import nltk nltk . download ( 'punkt' )
2 veiksmas: ženklinkite sakinius
send_tokenize() suskaido eilutę į sakinių, kuriuose tvarkomi skyrybos ženklai ir santrumpos, sąrašą.
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 )
Išvestis:
["NLTK yra puikus NLP įrankių rinkinys." „Tai palengvina teksto apdorojimą!“]
3 veiksmas: Žodžių tokenizavimas
- word_tokenize() suskaido sakinį į žodžius ir skyrybos ženklus kaip atskirus prieigos raktus.
- Tvarko susitraukimų skyrybos numerius ir kt.
from nltk.tokenize import word_tokenize sentence = 'Tokenization is easy with NLTK's word_tokenize.' words = word_tokenize ( sentence ) print ( words )
Išvestis:
["Tokenizavimas" "yra" "lengvas" "su" "NLTK" "s" "word_tokenize" ".']
Pažiūrėkime daugiau pavyzdžių
1. WordPunctTokenizer
Tai Padalina tekstą į abėcėlės ir neabėcėlės simbolius
- Atskiria visas žodžių simbolių sekas ir skyrybos ženklus į žetonus.
- Ypač suskaido sąrėmius (netampa „Don't“).
- El. laiškus skaido į el. laiškus.
from nltk.tokenize import WordPunctTokenizer tokenizer = WordPunctTokenizer () tokens = tokenizer . tokenize ( 'Don't split contractions. E-mails: [email protected]!' ) print ( tokens )
Išvestis:
["Neskirstykite" "susitraukimai" 'E' '-' 'laiškai' ':' 'labas' '@' 'pavyzdys' '. 'com''!']
2. TreebankWordTokenizer
Jis tinka kalbinei analizei, tvarko skyrybos ženklus ir susitraukimus.
- Imituoja Penn Treebank stiliaus tokenizavimą, kuris dažniausiai naudojamas NLP kalbinei analizei.
- Sumaniau tvarko tam tikras anglų kalbos gramatines struktūras.
from nltk.tokenize import TreebankWordTokenizer tokenizer = TreebankWordTokenizer () tokens = tokenizer . tokenize ( 'Have a look at NLTK's tokenizers.' ) print ( tokens )
Išvestis:
["Pažvelkite" į "NLTK" "s" "žetonus" ".]
3. Regex Tokenizer
Jis tinkina padalijimą pagal šabloną.
- Tokenizuoja pagal reguliariosios išraiškos šabloną.
- w+ atitinka žodžius ir skaičius, visiškai praleidžiant skyrybos ženklus.
from nltk.tokenize import RegexpTokenizer tokenizer = RegexpTokenizer ( r 'w+' ) tokens = tokenizer . tokenize ( 'Custom rule: keep only words & numbers drop punctuation!' ) print ( tokens )
Išvestis:
["Tinkinta" "taisyklė", "laikyti" "tik" "žodžiai" "skaičiai" "nuleisti" "skyrybos ženklai"]
NLTK suteikia naudingą ir patogų įrankių rinkinį, skirtą tekstui ženklinti „Python“, palaikantį įvairius atpažinimo poreikius nuo pagrindinių žodžių ir sakinių skaidymo iki išplėstinių pasirinktinių šablonų.
Sukurti viktoriną