Pythons NLTK-bibliotek har en robust tokeniserare och POS-taggare för meningar. Python har en inbyggd tokenizer, funktionen .split(), som du kan skicka en separator och den kommer att dela upp strängen som funktionen anropas på på den separatorn. NLTK:s tokenizer är mer robust. Den tokeniserar en mening i ord och interpunktion. Givet följande kod:

Den kommer att tokenisera meningen Can you please buy me an Arizona Ice Tea? It's .99." på följande sätt:

Notera att tokeniseraren behandlar 's , '$' , 0.99 och . som separata tokens. Detta är viktigt eftersom sammandragningar har sin egen semantiska betydelse samt har sin egen taldel vilket för oss till nästa del av NLTK-biblioteket POS-taggaren. POS-taggaren i NLTK-biblioteket ger ut specifika taggar för vissa ord. Listan över POS-taggar är följande, med exempel på vad varje POS står för.

  • CC coordinating conjunction
  • CD cardinal digit
  • DT determiner
  • EX existential there (like: ”det finns” … tänk på det som ”det finns”)
  • FW främmande ord
  • IN preposition/underordnande konjunktion
  • JJJ adjektiv ’stor’
  • JJJR adjektiv, komparativ ’större’
  • JJS adjektiv, superlativ ’störst’
  • LS listmarkör 1)
  • MD modal could, will
  • NNNN substantiv, singular ’skrivbord’
  • NNS substantiv plural ’skrivbord’
  • NNNNP egennamn, singular ’Harrison’
  • NNNPS egennamn, plural ’amerikaner’
  • PDT predeterminer ’all the kids’
  • POS possessiv ändelse parent’s
  • PRP personligt pronomen jag, han, hon
  • PRP$ possessivt pronomen my, hans, hennes
  • RB adverb mycket, tyst,
  • RBR adverb, komparativ bättre
  • RBS adverb, superlativ bäst
  • RP partikel ge upp
  • TO, to go ’to’ the store.
  • UH interjektion, errrrrrrrrrm
  • VB verb, grundform ta
  • VBD verb, förflutet tog
  • VBG verb, gerundium/presens participium ta
  • VBN verb, förflutet participium ta
  • VBP verb, sing. presens, icke-3d ta
  • VBZ verb, 3. person sing. presens tar
  • WDT wh-determiner which
  • WP wh-pronoun who, what
  • WP$ possessiv wh-pronoun whose
  • WRB wh-abverb where, när

Som du kan se på rad 5 i koden ovan, är .pos_tag()-funktionen måste få en tokeniserad mening för taggning. Taggningen sker med hjälp av en tränad modell i NLTK-biblioteket. Den medföljande POS-taggaren är inte perfekt, men den ger ganska exakta resultat. Med samma mening som ovan blir resultatet:

Taggning av taldelar kan vara viktigt för syntaktisk och semantisk analys. Så för något som meningen ovan har ordet can flera semantiska betydelser. En är en modal för frågebildning, en annan är en behållare för att hålla mat eller vätska, och ytterligare en annan är ett verb som betecknar förmågan att göra något. Att ge ett ord som detta en specifik betydelse gör att programmet kan hantera det på rätt sätt i både semantiska och syntaktiska analyser.

Articles

Lämna ett svar

Din e-postadress kommer inte publiceras.