La bibliothèque NLTK de Python dispose d’un tokenizer de phrase et d’un tagger POS robustes. Python dispose d’un tokenizer natif, la fonction .split(), à laquelle vous pouvez passer un séparateur et qui divisera la chaîne sur laquelle la fonction est appelée sur ce séparateur. Le tokenizer de NLTK est plus robuste. Il tokenise une phrase en mots et en ponctuation. Étant donné le code suivant:

Il va tokeniser la phrase Can you please buy me an Arizona Ice Tea? It's .99." comme suit :

Notez que le tokenizer traite 's , '$' , 0.99 , et . comme des tokens séparés. Ceci est important car les contractions ont leur propre signification sémantique ainsi que leur propre partie du discours, ce qui nous amène à la partie suivante de la bibliothèque NLTK, le tagueur POS. Le tagueur POS de la bibliothèque NLTK produit des balises spécifiques pour certains mots. La liste des balises POS est la suivante, avec des exemples de ce que chaque POS représente.

  • CC conjonction de coordination
  • CD chiffre cardinal
  • DT déterminant
  • EX existentiel là (comme : « il y a » … pensez-y comme « il existe »)
  • FW mot étranger
  • IN préposition/conjonction de subordination
  • JJ adjectif ‘grand’
  • JJR adjectif, comparatif ‘plus grand’
  • JS adjectif, superlatif ‘biggest’
  • LS marqueur de liste 1)
  • MD modal could, will
  • NN nom, singulier ‘desk’
  • NNS nom pluriel ‘desks’
  • NNP nom propre, singulier ‘Harrison’
  • NNPS nom propre, pluriel ‘Americans’
  • PDT prédéterminateur ‘all the kids’
  • POS terminaison possessive parent’s
  • PRP pronom personnel I, he, she
  • PRP$ pronom possessif my, son, sa
  • RB adverbe très, silencieusement,
  • RBR adverbe, comparatif meilleur
  • RBS adverbe, superlatif meilleur
  • RP particule abandonner
  • TO, aller ‘au’ magasin.
  • UH interjection, errrrrrrrm
  • VB verbe, forme de base prendre
  • VBD verbe, passé prendre
  • VBG verbe, gérondif/participe présent prendre
  • VBN verbe, participe passé prendre
  • VBP verbe, sing. présent, non-3d prendre
  • VBZ verbe, 3ème personne sing. présent prend
  • WDT wh-determiner which
  • WP wh-pronoun who, what
  • WP$ possessif wh-pronoun whose
  • WRB wh-abverb where, quand

Comme vous pouvez le voir à la ligne 5 du code ci-dessus, la fonction .pos_tag() a besoin qu’on lui transmette une phrase tokenisée pour le balisage. Le marquage est effectué au moyen d’un modèle entraîné dans la bibliothèque NLTK. Le trieur POS inclus n’est pas parfait mais il donne des résultats assez précis. En utilisant la même phrase que ci-dessus, le résultat est :

Le marquage des parties du discours peut être important pour l’analyse syntaxique et sémantique. Ainsi, pour quelque chose comme la phrase ci-dessus, le mot can a plusieurs significations sémantiques. L’un étant un modal pour la formation de questions, un autre étant un récipient pour contenir de la nourriture ou du liquide, et encore un autre étant un verbe dénotant la capacité de faire quelque chose. Donner à un mot comme celui-ci une signification spécifique permet au programme de le traiter de la bonne manière dans les analyses sémantiques et syntaxiques.

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.