Pythons NLTK-bibliotek indeholder en robust sætningstokenisering og POS-markering. Python har en indfødt tokenizer, funktionen .split(), som du kan videregive en separator, og den vil opdele den streng, som funktionen kaldes på, på denne separator. NLTK-tokenizeren er mere robust. Den tokeniserer en sætning i ord og tegnsætning. Givet følgende kode:

Den vil tokenisere sætningen Can you please buy me an Arizona Ice Tea? It's .99." på følgende måde:

Bemærk, at tokenizer behandler 's , '$' , 0.99 , og . som separate tokens. Dette er vigtigt, fordi sammentrækninger har deres egen semantiske betydning samt har deres egen orddel, hvilket bringer os til den næste del af NLTK-biblioteket, POS-taggeren. POS-taggeren i NLTK-biblioteket udsender specifikke tags for bestemte ord. Listen over POS-tags er som følger, med eksempler på, hvad hver POS står for.

  • CC koordinerende konjunktion
  • CD kardinalciffer
  • DT determiner
  • EX eksistentiel der (som f.eks: “der er” … tænk på det som “der findes”)
  • FW fremmedord
  • IN præposition/underordnet konjunktion
  • JJJ adjektiv ‘stor’
  • JJR adjektiv, komparativ ‘større’
  • JJS adjektiv, superlativ ‘størst’
  • LS listemarkør 1)
  • MD modal kunne, vil
  • NNNN navneord, ental ‘skrivebord’
  • NNS navneord flertal ‘skriveborde’
  • NNNNP eget navneord, singular ‘Harrison’
  • NNNPS egennavneord, flertal ‘amerikanere’
  • PDT predeterminer ‘alle børnene’
  • POS possessiv endelse forældre’s
  • PRP personligt pronomen jeg, han, hun
  • PRP$ possessivt pronomen min, hans, hendes
  • RB adverbium meget, stille,
  • RBR adverbium, komparativ bedre
  • RBS adverbium, superlativ bedst
  • RP partikel give up
  • TO, at gå ’til’ butikken.
  • UH interjektion, errrrrrrrrrm
  • VB udsagnsord, grundform take
  • VBD udsagnsord, datid take
  • VBG udsagnsord, gerundium/nutid participium taking
  • VBN udsagnsord, datid participium taken
  • VBP udsagnsord, sing. present, non-3d take
  • VBZ udsagnsord, 3. person sing. præsens tager
  • WDT wh-determiner which
  • WP wh-pronoun who, what
  • WP$ possessive wh-pronoun whose
  • WRB wh-abverb where, hvornår

Som du kan se på linje 5 i koden ovenfor, er den .pos_tag()-funktionen skal have overdraget en tokeniseret sætning til tagging. Tagging sker ved hjælp af en trænet model i NLTK-biblioteket. Den medfølgende POS-tagger er ikke perfekt, men den giver ret præcise resultater. Ved at bruge den samme sætning som ovenfor er resultatet:

Parts of speech-tagging kan være vigtig for syntaktisk og semantisk analyse. Så for noget som sætningen ovenfor har ordet can flere semantiske betydninger. Den ene er en modal til spørgsmålsdannelse, en anden er en beholder til opbevaring af mad eller væske, og endnu en anden er et verbum, der angiver evnen til at gøre noget. Ved at give et ord som dette en specifik betydning kan programmet håndtere det på den korrekte måde i både semantisk og syntaktisk analyse.

Articles

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.