Если вы определяете грамматику, то каждое слово может принадлежать только одной фразе и не может перекрываться. Но поскольку вам нужно извлекать только фразы, вы можете просто отфильтровать все триграммы с помощью тегов, которые вам нужны:
for (w1, t1), (w2, t2), (w3, t3) in nltk.trigrams(tagged_text):
if t1 == 'NN' and t2 == 'IN' and t3 == 'NN':
print(w1, w2, w3)
Вывод:
relationship between weight
weight of beef