Não sei se propositalmente ou não, mas não foi enfatizado na aula que o salto de desempenho do modelo não se deve ao uso de ngrams, mas sim na não limitação do hiperamentro "max_features" em "TfidfVectorizer".
No modelo sem ngrams:
tfidf = TfidfVectorizer(lowercase=False, max_features=50)
tfidf_tratado = tfidf.fit_transform(resenha['tratamento_5'])
obtivemos uma acurácia de ~0.69
No modelo com ngrams:
tfidf = TfidfVectorizer(lowercase=False, ngram_range=(1,2))
vetor_tfidf = tfidf.fit_transform(resenha['tratamento_5'])
obtivemos uma acurácia de ~0.88
No entanto, se incluirmos a limitação "max_features=50" a acurácia volta para a casa dos 69%.