Пример использования цепей Маркова для генерации текста
Пример использования цепей Маркова для генерации текста import os import pandas as pd import markovify from tqdm import tqdm # Папка с текстами folder_path = "data" # Чтение текстовых файлов в один DataFrame files = [f for f in os.listdir(folder_path) if f.endswith(".txt")] # Создаем список для хранения данных data = [] # Чтение каждого файла и добавление в DataFrame for file in tqdm(files, desc="Чтение файлов"): with open(os.path.join(folder_path, file), 'r', encoding='utf-8') as f: text = f.read().lower() # Приводим текст к нижнему регистру data.append({'id': os.path.splitext(file)[0], 'text': text}) # Создаем DataFrame df_texts = pd.DataFrame(data) # Объединяем все тексты в один all_text = " ".join(df_texts['text']) # Строим марковскую модель # Используем прогресс-бар для анализа текста print("Создание марковской цепи...") text_model = markovify.Text(all_text, state_size=2) # Функция для генерации фразы def generate_phrase(model, length=10): phrase = [] current_sentence = model.make_sentence() if not current_sentence: return "" phrase.append(current_sentence) # Генерация дополнительных фраз for _ in range(length - 1): current_sentence = model.make_sentence() if not current_sentence: break phrase.append(current_sentence) return " ".join(phrase) # Пример генерации фразы generated_phrase = generate_phrase(text_model, length=10) print("Generated phrase:", generated_phrase)