Утилита, которая на основе заданных текстов генерирует новые.
- Обучение
train.py - Генерация
generate.py - Данные
data/
Файлы следует запускать друг за другом в командной строке.
python.exe train.py --input-dir [DIRECTORY_NAME] --model [FILE_NAME]--input-dir, -i - (необязательный параметр) имя директории с данным. Если этот параметр пропущен, запустите скрипт и следуйте дальнейшим инструкциям, чтобы ввести текст с клавиатуры.
--model, -m - название файла, куда будет сохранена модель.
python.exe generate.py --model [FILE_NAME] --length [LENGTH] --prefix [PREFIX]--model, -m - название файла, откуда будет загружена модель.
--lenght, -l - длина генерируемой последовательности.
--prefix, -p - (необязательный параметр) начало предложения, состоящее из одного или нескольких слов. Если параметр пропущен, генерируется случайная последовательность.
Генерация текстов основана на N-граммной языковой модели.
- Чтение текста из файлов в директории или из stdin
- Токенизация
- Составляем N-граммы по заданным текстам в формате:
{..., 'слово' : [[вероятность встречаемости], 'следующее слово', 'другое следующее слово, ...], ...}- для униграмм
{..., ('первое слово', 'второе слово') : [[вероятность встречаемости], 'следующее слово', 'другое следующее слово, ...], ...}- для биграмм
Вероятность встречаемости вычисляется как количество встреч данной комбинации, нормализованное к 1. - Если не был задан префикс, случайным образом выбираем ключ из словаря для начала предложения. По составленной N-граммной модели генерируем последовательность, выбирая следующее по слово по предыдущим с заданной вероятностью.