Я изучаю обработку естественного языка с использованием NLTK.
Я натолкнулся на код, используя PunktSentenceTokenizer
, фактическое использование которого я не могу понять в данном коде. Код указан:
import nltk
from nltk.corpus import state_union
from nltk.tokenize import PunktSentenceTokenizer
train_text = state_union.raw("2005-GWBush.txt")
sample_text = state_union.raw("2006-GWBush.txt")
custom_sent_tokenizer = PunktSentenceTokenizer(train_text) #A
tokenized = custom_sent_tokenizer.tokenize(sample_text) #B
def process_content():
try:
for i in tokenized[:5]:
words = nltk.word_tokenize(i)
tagged = nltk.pos_tag(words)
print(tagged)
except Exception as e:
print(str(e))
process_content()
Итак, почему мы используем PunktSentenceTokenizer. И что происходит в строке с надписью A и B. Я имею в виду, что есть учебный текст, а другой - образец текста, но зачем нужны два набора данных для получения тега части речи.
Линия, отмеченная как A
и B
, я не могу понять.
PS: Я попытался посмотреть в книге NLTK, но не мог понять, что представляет собой реальное использование PunktSentenceTokenizer