Skip to main content

Sentence generation using Markov Chains

Project description

markovipy

https://img.shields.io/pypi/v/markovipy.svg https://img.shields.io/travis/prodicus/markovipy.svg Documentation Status Updates

logo

She tries striking conversations with you with her cohesive sentences after you have given her fill of text to her. And no she won’t complain about how big your corpus is. Also, don’t ask her if she can pass the turing test. She might not talk to you again.

I wrote a blog post explaining the motivation and what is there behind the scenes if you are interested

Installation

To install markovipy, run this command in your terminal:

$ pip install markovipy

This is the preferred method to install markovipy, as it will always install the most recent stable release.

If you don’t have pip installed, this Python installation guide can guide you through the process.

Usage

To use markovipy in a project:

>>> from markovipy import MarkoviPy
>>>
>>> # create MarkoviPy object
>>> obj = MarkoviPy("/Users/tasrahma/development/projects/markovipy/corpus/ts_eliot/Gerontion_utf8.txt", 3)
>>>
>>>
>>> # arguments passed, is the initial corpus file and the markov chain length(defaults to 2 if nothing passed)
>>> obj.generate_sentence()
'Cammel, whirled Beyond the circuit of the shuddering Bear In fractured atoms.'
>>>
>>> obj.generate_sentence()
'After such knowledge, what forgiveness? Think now History has many cunning passages, contrived corridors And issues, deceives with whispering ambitions, Guides us by vanities.'
>>>
>>> obj.generate_sentence()
'Gull against the wind, in the windy straits Of Belle Isle, or running on the Horn, White feathers in the snow, the Gulf claims, And an old man, a dull head among windy spaces.'
>>>
>>> obj.generate_sentence()
'Silvero With caressing hands, at Limoges Who walked all night in the field overhead; Rocks, moss, stonecrop, iron, merds.'
>>>
>>> obj.generate_sentence()
"Gives too soon Into weak hands, what's thought can be dispensed with Till the refusal propagates a fear."

Features

  • More tests to be added. As of now, some minimal tests have been written. Contributions more than welcome.

  • Create a web-interface with some fancy buttons/UI which would give you random quotes.

History

0.3.0(2017-05-30)

  • exposed the Markovipy class in the markovipy module. API changed from

    from markovipy.markovipy import MarkoviPy

to

from markovipy import MarkoviPy

0.2.0 (2017-04-29)

  • self.middle_value mapping becomes a defaultdict

  • list_to_tuple() was removed to use just the tuple()

  • moved self.words_list = get_word_list(self.filename) to __init__()

0.1.1 (2017-04-14)

  • fixes UnicodeDecodeError while reading files instead of using the normal open()

0.1.0 (2017-04-11)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markovipy-0.3.0.tar.gz (20.9 kB view details)

Uploaded Source

File details

Details for the file markovipy-0.3.0.tar.gz.

File metadata

  • Download URL: markovipy-0.3.0.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for markovipy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 078f6344abe424b4880d1ee1510da3dd4caba87bea0d5c3d42e59af68d0054be
MD5 4287e41eaaad03fd53309089182b8704
BLAKE2b-256 4a8b2cb3c8ed5d46c803529c196889ac8add94ecc671ce139d5111898bcfaa5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page