Пример использования цепей Маркова.

Для генерации текста.

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)
Просмотры: 3
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти