Skip to content
/ rupo Public
forked from IlyaGusev/rupo

Библиотека для анализа и генерации стихов на русском языке

License

Notifications You must be signed in to change notification settings

Grigory-T/rupo

 
 

Repository files navigation

Python library for analysis and generation of poems in Russian

Current version on PyPI Python versions Build Status Code Climate Documentation Status

Install

git clone https://github.com/IlyaGusev/rupo
cd rupo
pip install -r requirements.txt
sh download.sh

Example

https://colab.research.google.com/drive/1WBl9erJvC9Oc9PjCD8JyC_40TDUqahCx

Usage manual

Analysis

>>> from rupo.api import Engine
>>> engine = Engine(language="ru")
>>> engine.load(<stress model path>, <zalyzniak dict path>)
>>> engine.get_stresses("корова")
[3]

>>> engine.get_word_syllables("корова")
["ко", "ро", "ва"]

>>> engine.is_rhyme("корова", "здорова")
True

>>> text = "Горит восток зарёю новой.\nУж на равнине, по холмам\nГрохочут пушки. Дым багровый\nКругами всходит к небесам."
>>> engine.classify_metre(text)
iambos

Generation

Script for poem generation. It can work in two different modes: sampling or beam search.

python generate_poem.py
Argument Default Description
--metre-schema +- feet type: -+ (iambos), +- (trochee), ...
--rhyme-pattern abab rhyme pattern
--n-syllables 8 number of syllables in line
--sampling-k 50000 top-k words to sample from (sampling mode)
--beam-width None width of beam search (beam search mode)
--temperature 1.0 sampling softmax temperature
--last-text None custom last line
--count 100 count of poems to generate
--model-path None optional path to generator model directory
--token-vocab-path None optional path to vocabulary
--stress-vocab-path None optional path to stress vocabulary

Models

Литература

About

Библиотека для анализа и генерации стихов на русском языке

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.5%
  • Shell 0.5%