Насколько я понимаю, вы хотите сгенерировать n-grams
, что является обычной практикой векторизации текста перед выполнением любого НЛП. Вот простая реализация:
from sklearn.feature_extraction.text import CountVectorizer
string = ["At the time of his accession, the Swedish Riksdag held more power than the monarchy but was bitterly divided between rival parties."]
# you can change the ngram_range to get any combination of words
vectorizer = CountVectorizer(encoding='utf-8', stop_words='english', ngram_range=(3,3))
X = vectorizer.fit_transform(string)
print(vectorizer.get_feature_names())
, который даст вам список нграмм длиной 3, но порядок потерян.
[«присоединение шведов», «в то время», «между противоборствующими сторонами», «горько разделено между», «но было горько», «разделено между соперником», «обладало большей властью», «его присоединение к «,« но монархия была »,« больше власти, чем »,« его вступление »,« власть, чем »,« риксдаг держал больше »,« шведский риксдаг держал »,« чем монархия »,« монархия, но », «шведский риксдаг», «время», «время его», «было горько разделено»]