Мешок слов

Строка — экземпляр текста, столбец — уникальное слово, на их пересечении число, показывающее сколько раз в тексте встречалось слово

from sklearn.feature_extraction.text import CountVectorizer

test_name = list(df['text_col'])       

vector_counter = CountVectorizer()

bag_of_words = vector_counter.fit_transform(text_name)

print('Матрица / мешок слов:', bag_of_words.toarray())

#вызываем словарь/список уникальных слов с помощью метода get_feature_names()

vector_counter.get_feature_names()

#счетчик  N-грамм, например чтобы сделать биграмм указываем диапазон от двух до двух

vector_counter = CountVectorizer(ngram_range=(2, 2))
n_gramm=vector_counter.fit_transform(text_name)