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.
Python
   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.
Python
   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.
Python
   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.
Python
   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