Пометка — это важная особенность обработки текста, когда мы помечаем слова в грамматическую категоризацию. Мы используем помощь токенизации и функцию 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)
Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод: