Я реализовал следующий алгоритм для извлечения групп из n слов из строки.
def ngrams(text, size):
tokens = text.split()
ngrams = []
for char in range(len(tokens)):
if (len(tokens)-char) < size:
break
list_shingle = tokens[char:char+size]
str_shingle = ' '.join(list_shingle)
ngrams.append(str_shingle)
return ngrams
Строки имеют такую форму:
['Hello my name is Inigo Montoya, you killed my father, prepare to die.']
Вывод должен выглядеть следующим образом:для размера 3 слова:
['Hello my name','my name is','name is Inigo',...,'prepare to die.']
Мне нужно сравнить большое количество документов, как я могу сделать этот код более эффективным?