Skip to content

sitandr/quickpoeter_core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Авторский алгоритм поиска рифмы.

Инуструкция по использованию

Код написан для quickpoeterGUI, но алгоритм можно использовать как самостоятельную консольную утилиту, можно — как Rust-библиотеку для своих приложений (с GPL-лицензией). Почти весь функционал (за исключением удаления из рассмотрения частей речи) доступен в quickpoeterGUI.

USAGE:
    quickpoeter.exe [OPTIONS] <TO_FIND>

ARGS:
    <TO_FIND>    What to find (use ' to mind the stress)

OPTIONS:
    -d, --debug                Print all subdistances
    -h, --help                 Print help information
    -m, --measure <MEASURE>    Measure distance to given word (primarly for debug purposes)
    -n, --top-n <TOP_N>        Number of returned best matches (doesn't affect speed) [default: 100]
    -r, --rps <RPS>            Remove some parts of speech separated with "+"
                               List of available parts of speech:
                               с      существительное
                               п      прилагательное
                               мс     местоимение-существительное
                               мс-п   местоименное-прилагательное
                               г      глагол
                               н      наречие
                               числ   числительное
                               числ-п счётное прилагательное
                               вводн  вводное слово
                               межд   межометие
                               предик предикатив
                               предл  предлог
                               союз   союз
                               мс     местоимение-существительное
                               мс-п   местоименное-прилагательное
                               г      глагол
                               н      наречие
                               числ   числительное
                               числ-п счётное прилагательное
                               вводн  вводное слово
                               межд   межометие
                               предик предикатив
                               предл  предлог
                               союз   союз
                               сравн  сравнительная степень
                               част   частица
                               ?      куски фразеологизмов и т.п.
    -t, --theme <THEME>        Mean theme name (one from config/themes.yaml)
    -V, --version              Print version information

Принцип работы

Построен на следующих метриках:

  1. Расстояние между соответствующими гласными
  2. Расстояние между всеми возможными парами согласных (чем дальше в слове, тем меньше вес) и их наличие в слове.
  3. Расположение согласных относительно гласных в слове
  4. Длина (фильтр слишком коротких/длинных)
  5. Популярность (фильтр устаревших/редко используемых слов)
  6. Часть речи (штраф на глагольные/прилагательные)
  7. Значение слова (указывается через "тематику")

Больше подробностей (вместе с формулами) можно найти в комментариях в файле настроек config.yaml (файл можно и рекомендуется редактировать для своих нужд).

Словари

Использованные словари основаны на словарях Зализняка, распространяются под лицензией GPL, поэтому мои модифицированные словари в формате .pkl (питоновский pickle) также распространяются под лицензией GPL. В них также входят данные тренировки word2vec на открытых литературных источниках.

About

Rust implementation of advanced ryhmes finder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages