Вы должны обработать текст только один раз:
text = "Australian striker John hits century"
doc = nlp(text)
for nc in doc.noun_chunks:
print(nc)
print([(token.text, token.tag_, token.pos_) for token in nc])
Если вы хотите получить только определенное слово в пределах существительного чанка, вы можете дополнительно отфильтровать его, изменив второе выражение печати, например,
print([(token.text, token.tag_, token.pos_) for token in nc if token.tag_ == 'NN'])
Обратите внимание, что это может напечатать несколько совпадений, в зависимости от вашей модели и входного предложения.