Учебники

Python — Пометка слов

Пометка — это важная особенность обработки текста, когда мы помечаем слова в грамматическую категоризацию. Мы используем помощь токенизации и функцию pos_tag для создания тегов для каждого слова.

import nltk

text = nltk.word_tokenize("A Python is a serpent which eats eggs from the nest")
tagged_text=nltk.pos_tag(text)
print(tagged_text)

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

[('A', 'DT'), ('Python', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('serpent', 'NN'), 
('which', 'WDT'), ('eats', 'VBZ'), ('eggs', 'NNS'), ('from', 'IN'), 
('the', 'DT'), ('nest', 'JJS')]

Описания тегов

Мы можем описать значение каждого тега, используя следующую программу, которая показывает встроенные значения.

import nltk

nltk.help.upenn_tagset('NN')
nltk.help.upenn_tagset('IN')
nltk.help.upenn_tagset('DT')

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

NN: noun, common, singular or mass
    common-carrier cabbage knuckle-duster Casino afghan shed thermostat
    investment slide humour falloff slick wind hyena override subhumanity
    machinist ...
IN: preposition or conjunction, subordinating
    astride among uppon whether out inside pro despite on by throughout
    below within for towards near behind atop around if like until below
    next into if beside ...
DT: determiner
    all an another any both del each either every half la many much nary
    neither no some such that the them these this those

Пометка корпуса

Мы также можем пометить данные корпуса и увидеть помеченный результат для каждого слова в этом корпусе.

import nltk

from nltk.tokenize import sent_tokenize
from nltk.corpus import gutenberg
sample = gutenberg.raw("blake-poems.txt")
tokenized = sent_tokenize(sample)
for i in tokenized[:2]:
            words = nltk.word_tokenize(i)
            tagged = nltk.pos_tag(words)
            print(tagged)

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод: