Created
November 9, 2022 08:49
-
-
Save amaurs/2d35c2d7597786c477a28ebba0043822 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from typing import List | |
import markovify | |
import argparse | |
# Example: | |
# python sentence_generator.py text_1.txt text_2.txt text_2.txt --state-size 2 | |
# python sentence_generator.py text_1.txt text_2.txt | |
def main(filenames: List[str], state_size: int) -> str: | |
text_model = markovify.combine([load_text_model(filename, state_size=state_size) for filename in filenames]) | |
return text_model.make_sentence(tries=100) | |
def load_text_model(filename: str, state_size: int) -> markovify.Text: | |
with open(filename) as f: | |
text_model = markovify.Text(f, state_size=state_size) | |
return text_model | |
if __name__ == '__main__': | |
parser = argparse.ArgumentParser( | |
prog = 'TextGenerator', | |
description = 'Generates text based on a corpus.') | |
parser.add_argument('filenames', nargs='*') | |
parser.add_argument('--state-size', type=int, default=3) | |
args = parser.parse_args() | |
print(main(filenames=args.filenames, state_size=args.state_size)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment