1つの非常に重要なものを持っている必要がありますどのように小さなまたは大きな知ることですあなたが探したいパターン。
あなたのパターンの長さを知ったら、それらの長さのバイグラムとトリグラムを作成し、カウントを確認することができます。
それを行うためのコード:
my_lst = ['I','Love','Python','very','much','I','Love','Python','good','nice','I','Love','Python','I','Love','Python']
min_Seq_length = 2
max_Seq_length = 3
def find_ngrams(input_list, n):
return zip(*[input_list[i:] for i in range(n)])
all_sequences = []
for seq_length in range(min_Seq_length, max_Seq_length + 1):
all_sequences += [val for val in find_ngrams(my_lst, seq_length)]
print(Counter(all_sequences).most_common(1)[0])
出力:
(('I', 'Love', 'Python'), 4)
すべてのnグラムを計算すると、CPUとメモリ高価であることに注意してください。
あなたは何を試しましたか?あなたの問題は何ですか? – k0pernikus
どのパターン/パターンが必要ですか?最も頻繁にですか?最も大きい?要素の順序はどうですか? – Dmitry
@ k0pernikus私はPythonを初めて使っています... :-( – SubodhD