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