Я выполнил NLTK-часть речевого тегирования с последующей разбивкой на один столбец ("train_text") внутри моего фрейма данных Pandas.
Ниже приведен мой успешно выполненный код и примеры результатов вывода.
def process_content():
try:
for i in train_text:
words = nltk.word_tokenize(i)
tagged = nltk.pos_tag(words)
# chunkGram = r"""Chunk: {<RB.?>*<VB.?>*<NNP>+<NN>?}"""
chunkGram = r"""Chunk: {<VB.?><NN.?>}"""
chunkParser = nltk.RegexpParser(chunkGram)
chunked = chunkParser.parse(tagged)
for subtree in chunked.subtrees(filter = lambda t: t.label() == 'Chunk'):
print (subtree)
except Exception as e:
print(str(e))
process_content()
Результаты: «ххх» означает слово;в первом случае это глагол, а во втором случае это существительное
(Chunk xxx/VBN xxx/NN)
(Chunk xxx/VBN xxx/NN)
(Chunk xxx/VBN xxx/NN)
(Chunk xxx/VBN xxx/NN)
(Chunk xxx/VBN xxx/NN)
Теперь, когда у меня есть кусочки слов, я хочу найти 10 наиболее часто встречающихся или выдающихся кусков глагола + существительного,Есть ли способ, которым я могу прикрепить оценку частоты или важности к каждому чанку?