markovy
Parody generation with Markov Chain.
Installation
$ pip install markovy
Usage Example
from markovy import MarkovChain
with open('./shakespeare.txt') as f:
mc = MarkovChain(f)
print(mc.make_sentence())
# output: ["For in thy orisons Be all my sins rememb'red."]
Supported Python Versions
python 3
python 2
pypy3
pypy
Running Tests
To run tests, you have to install unittest first:
$ pip install unittest
Then, just run tests.py:
$ python tests.py
API Reference
__init__()
__init__(dataset)
dataset:
file-like object: Dataset can be file-like object as in usage example above.
string: A string to be parsed can be given as dataset.
list: A parsed word list can be given as dataset.
make_word()
make_word(count=1)
Generates random word from the dataset.
count (Integer): How many what will you generate? Default value is 1.
make_sentence()
make_sentence(count=1)
Generates random sentences from the dataset.
count (Integer): How many what will you generate? Default value is 1.
make_paragraph()
make_paragraph(count=1, minimum=5, maximum=10)
Generates random paragraphs from the dataset.
count (Integer): How many what will you generate? Default value is 1.
minimum (Integer): Minimum sentence count. Default value is 5.
maximum (Integer): Maximum sentence count. Default value is 10.
make_text()
make_text(count=1, minimum=5, maximum=10)
Generates random texts from the dataset.
count (Integer): How many what will you generate? Default value is 1.
minimum (Integer): Minimum sentence count. Default value is 5.
maximum (Integer): Maximum sentence count. Default value is 10.
PS: All results will be returned as list.
Contributors
Contributing
Random walking method is used on the current version. You can add weights for each words in chain to generate more logical outputs.
Thanks
The idea came up while discussing with Fatih Erikli and he suggested me to write a Python module for Markov Chain algorithm.
License
Python module for Markov Chain algorithm.
Copyright (C) 2016 Halil Kaya
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .