rupo.metre package¶
Submodules¶
rupo.metre.metre_classifier module¶
-
class
rupo.metre.metre_classifier.
AccentCorrection
(line_number: int, word_number: int, syllable_number: int, word_text: str, accent: int) → None[исходный код]¶ - Базовые классы:
rupo.util.mixins.CommonMixin
Исправление ударения.
-
class
rupo.metre.metre_classifier.
ClassificationResult
(count_lines: int = 0) → None[исходный код]¶ - Базовые классы:
rupo.util.mixins.CommonMixin
Результат классификации стихотворения по метру.
-
get_metre_errors_count
()[исходный код]¶ Результат: получить количество ошибок на заданном метре.
-
static
str_corrections
(collection: typing.List[rupo.metre.metre_classifier.AccentCorrection]) → str[исходный код]¶ Параметры: collection – список исправлений. Результат: его строковое представление.
-
to_json
()[исходный код]¶ Результат: сериализация в json.
-
-
class
rupo.metre.metre_classifier.
CompilationsSingleton
[исходный код]¶ - Базовые классы:
object
-
compilations
= None¶
-
classmethod
get
()[исходный код]¶
-
-
class
rupo.metre.metre_classifier.
LineClassificationResult
→ None[исходный код]¶ - Базовые классы:
rupo.util.mixins.CommonMixin
Результат классификации строки.
-
get_best_metres
() → typing.List[str][исходный код]¶ Результат: метры с наименьшим количеством ошибок.
-
get_best_pattern
(metre_name: str) → str[исходный код]¶ Результат: лучший шаблон метра.
-
store_best_result
(metre_name: str, pattern: str, error_count: int) → None[исходный код]¶ Сохранить результат сравнения строки с шаблоном метра.
Параметры: - metre_name – имя метра.
- pattern – шаблон метра.
- error_count – количество ошибок.
-
-
class
rupo.metre.metre_classifier.
MetreClassifier
[исходный код]¶ - Базовые классы:
object
Классификатор, считает отклонения от стандартных шаблонов ритма(метров).
-
border_syllables_count
= 18¶
-
static
classify_metre
(markup)[исходный код]¶ Классифицируем стихотворный метр.
Параметры: markup – разметка. Результат: результат классификации.
-
static
get_improved_markup
(markup: rupo.main.markup.Markup, result: rupo.metre.metre_classifier.ClassificationResult) → rupo.main.markup.Markup[исходный код]¶ Улучшаем разметку после классификации метра.
Параметры: - markup – начальная разметка.
- result – результат классификации.
Результат: улучшенная разметка.
-
static
get_ml_resolutions
(result: rupo.metre.metre_classifier.ClassificationResult, accent_classifier: rupo.accents.classifier.MLAccentClassifier) → None[исходный код]¶ Пытаемся снять омонимию с предыдущих этапов древесным классификатором.
Параметры: - result – результат классификации.
- accent_classifier – древесный классификатор ударений.
-
static
improve_markup
(markup: rupo.main.markup.Markup, accents_classifier: rupo.accents.classifier.MLAccentClassifier = None) → typing.Tuple[rupo.main.markup.Markup, rupo.metre.metre_classifier.ClassificationResult][исходный код]¶ Улучшение разметки метрическим и машинным классификатором.
Параметры: - markup – начальная разметка.
- accents_classifier – классификатор ударений.
-
line_inner_coef
= OrderedDict([('iambos', 1.0), ('choreios', 1.0), ('daktylos', 1.2), ('amphibrachys', 1.2), ('anapaistos', 1.2), ('dolnik3', 2.0), ('dolnik2', 2.0), ('taktovik3', 3.0), ('taktovik2', 3.0)])¶
-
line_outer_coef
= OrderedDict([('iambos', 1.0), ('choreios', 1.0), ('daktylos', 1.0), ('amphibrachys', 1.0), ('anapaistos', 1.0), ('dolnik3', 0.8), ('dolnik2', 0.8), ('taktovik3', 0.6), ('taktovik2', 0.6)])¶
-
metres
= OrderedDict([('iambos', '(us)*(us)(u)?(u)?'), ('choreios', '(su)*(s)(u)?(u)?'), ('daktylos', '(suu)*(s)(u)?(u)?'), ('amphibrachys', '(usu)*(us)(u)?(u)?'), ('anapaistos', '(uus)*(uus)(u)?(u)?'), ('dolnik3', '(u)?(u)?((su)(u)?)*(s)(u)?(u)?'), ('dolnik2', '(u)?(u)?((s)(u)?)*(s)(u)?(u)?'), ('taktovik3', '(u)?(u)?((su)(u)?(u)?)*(s)(u)?(u)?'), ('taktovik2', '(u)?(u)?((s)(u)?(u)?)*(s)(u)?(u)?')])¶
-
rupo.metre.patterns module¶
-
class
rupo.metre.patterns.
CompiledPatterns
(metres: typing.Dict[str, str], border: int) → None[исходный код]¶ - Базовые классы:
object
Скомпилированные шаблоны (нужно, чтобы не пересчитывать их каждый раз).
-
get_patterns
(metre_name: str, syllables_count: int) → typing.List[str][исходный код]¶ Получить или посчитать шаблоны метра для заданного метра.
Параметры: - metre_name – название метра.
- syllables_count – количество слогов в шаблоне.
Результат: итоговые скомпилированные шаблоны метра.
-
-
class
rupo.metre.patterns.
FlagEnum
[исходный код]¶ - Базовые классы:
enum.Enum
An enumeration.
-
ONE
= ''¶
-
ZERO_OR_ONE
= '?'¶
-
ZERO_TO_INF
= '*'¶
-
-
class
rupo.metre.patterns.
Group
(exp: str, flag: rupo.metre.patterns.FlagEnum) → None[исходный код]¶ - Базовые классы:
object
Группа - выражение в круглых скобках и её модификатор.
-
class
rupo.metre.patterns.
Patterns
[исходный код]¶ - Базовые классы:
object
-
static
compile_pattern
(metre_pattern: str, l: int) → typing.List[str][исходный код]¶ Скомпилировать заданное выражение.
Параметры: - metre_pattern – выражение.
- l – итоговое количество символов.
Результат: скомпилированные шаблоны.
-
static
rupo.metre.test_metre_classifier module¶
-
class
rupo.metre.test_metre_classifier.
TestMetreClassifier
(methodName='runTest')[исходный код]¶ - Базовые классы:
unittest.case.TestCase
-
classmethod
setUpClass
()[исходный код]¶
-
test_classification_result
()[исходный код]¶
-
test_metre_classifier
()[исходный код]¶
-
classmethod
rupo.metre.test_patterns module¶
-
class
rupo.metre.test_patterns.
TestPatterns
(methodName='runTest')[исходный код]¶ - Базовые классы:
unittest.case.TestCase
-
test_patterns
()[исходный код]¶
-