Tokenizējiet tekstu, izmantojot NLTK programmā python
Teksta marķieris ir pamata dabiskās valodas apstrādes (NLP) paņēmiens, un viens no šādiem paņēmieniem ir Tokenizācija. Tas ir teksta sadalīšanas process mazākos komponentos vai marķieros. Tie var būt:
- Vārdi: man patīk NLP → ['I' 'love' 'NLP']
- Teikumi: Man patīk NLP. Python ir lielisks. → ['Es mīlu NLP.' 'Python ir lielisks.']
Ar Python populāro bibliotēku NLTK (Dabiskās valodas rīkkopa) teksta sadalīšana jēgpilnās vienībās kļūst gan vienkārša, gan ārkārtīgi efektīva.
Pamata ieviešana
Apskatīsim tokenizācijas ieviešanu, izmantojot NLTK Python
1. darbība: instalēšana un iestatīšana
Instalējiet punktu marķieru modeļi, kas nepieciešami teikumu un vārdu marķieriem.
Python ! pip install nltk import nltk nltk . download ( 'punkt' )
2. darbība: marķējiet teikumus
Send_tokenize() sadala virkni teikumu sarakstā, kas apstrādā pieturzīmes un saīsinājumus.
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 )
Izvade:
['NLTK ir lielisks NLP rīku komplekts.' 'Tas atvieglo teksta apstrādi!']
3. darbība. Tokenizējiet vārdus
- word_tokenize() sadala teikumu vārdos un pieturzīmēs kā atsevišķos marķieros.
- Apstrādā kontrakciju pieturzīmju ciparus un citus.
from nltk.tokenize import word_tokenize sentence = 'Tokenization is easy with NLTK's word_tokenize.' words = word_tokenize ( sentence ) print ( words )
Izvade:
["Tokenization" "ir" "viegli" "ar" "NLTK" "s" "word_tokenize" ".']
Apskatīsim vēl dažus piemērus
1. WordPunctTokenizer
Tas Sadala tekstu alfabētiskās un nealfabētiskās rakstzīmēs
- Atdala visas vārdu rakstzīmju un pieturzīmju secības marķieros.
- Īpaši sadala kontrakcijas (nepārvēršas par Don't).
- Sadala e-pastus e-pasta ziņojumos.
from nltk.tokenize import WordPunctTokenizer tokenizer = WordPunctTokenizer () tokens = tokenizer . tokenize ( 'Don't split contractions. E-mails: [email protected]!' ) print ( tokens )
Izvade:
['Don' '' 't' 'split' 'contractions' '. 'E' '-' 'pasts' ':' 'labdien' '@' 'piemērs' '. 'com''!']
2. TreebankWordTokenizer
Tas ir piemērots lingvistiskajai analīzei, apstrādā pieturzīmes un kontrakcijas.
- Atdarina Penn Treebank stila tokenizāciju, ko parasti izmanto NLP lingvistiskajai analīzei.
- Saprātīgāk apstrādā noteiktas angļu valodas gramatiskās struktūras.
from nltk.tokenize import TreebankWordTokenizer tokenizer = TreebankWordTokenizer () tokens = tokenizer . tokenize ( 'Have a look at NLTK's tokenizers.' ) print ( tokens )
Izvade:
["Paskatieties" "NLTK" "s" marķierus ".]
3. Regex Tokenizer
Tas pielāgo uz modeļiem balstītu sadalīšanu.
- Tokenizē, pamatojoties uz regulāras izteiksmes modeli.
- w+ atbilst vārdiem un cipariem, pilnībā izlaižot pieturzīmes.
from nltk.tokenize import RegexpTokenizer tokenizer = RegexpTokenizer ( r 'w+' ) tokens = tokenizer . tokenize ( 'Custom rule: keep only words & numbers drop punctuation!' ) print ( tokens )
Izvade:
["Pielāgots" "noteikums" "paturēt" "tikai" "vārdi" "skaitļi" "nomest" "pieturzīmes"]
NLTK nodrošina noderīgu un lietotājam draudzīgu rīku komplektu teksta marķieriem programmā Python, kas atbalsta virkni marķieru vajadzību, sākot no pamata vārdu un teikumu sadalīšanas līdz uzlabotiem pielāgotiem modeļiem.
Izveidojiet viktorīnu