Repository navigation
Добавить шкалы индекса Флеша и LIX и прочтение любой метрики удобочитаемости - #90
Merged
Merged
Conversation
…аемости Ядро anyTS 0.2.9 хранит шкалы прочтения данными и дает describe_level и describe. ruTS задает русские подписи: индекс Флеша по таблице Флеша с классами российской школы, LIX по типам текстов Бьёрнссона (READABILITY_LEVEL_SCALES); RIX переводится в класс таблицей Андерсона ядра и читается по таблице классов plainrussian. Зависимость anyts>=0.2.9, страница удобочитаемости описывает новые методы на обоих языках, демо показывает прочтение индекса Флеша. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SergeyShk
commented
Oct 5, 2026
SergeyShk
left a comment
Owner
Author
There was a problem hiding this comment.
Шесть замечаний. Поведение describe и describe_level на крайних текстах (Флеш ниже 0 и выше 100, LIX выше 60, RIX 0, µ = nan, имена не-метрик) совпадает с ядром. Примеры документации дают написанный вывод, переводы новых секций ядра точны, в uv.lock сдвинулись только anyts и ruts.
scale_level ядра доступна из ruts.readability_stats и описана на странице функций, как другие функции интерпретации. Шкалы индекса Флеша и LIX тест сверяет с таблицами страницы функций; под таблицей Флеша сказано, куда попадают значения вне 0-100, докстринг calc_flesch_reading_easy говорит, что шкала номинальная. README называет новые шкалы и показывает describe, страницы установки - anyts 0.2.9, демо показывает индекс Флеша без округления вверх, чтобы число не расходилось с полосой. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Версия
0.15.1.dev1.Что сделано
Ядро anyTS 0.2.9 хранит шкалы прочтения метрик удобочитаемости данными, а не текстом документации. В нём появились хуки
level_scalesиlevel_scale, методdescribe_level— полоса шкалы метрики — и методdescribe, который даёт прочтение любой метрики. ruTS подключает их с русскими подписями.Шкалы в
ruts.constants:READING_EASE_LEVELS— индекс Флеша по таблице Флеша с классами российской школы, как в таблице страницы функций: от «5-й класс» (от 90) до «университет» (от 30) и «выпускник университета» (ниже 30);LIX_LEVELS— LIX по типам текстов Бьёрнссона, как в таблице документации: от «очень простые тексты, детские книги» до «очень сложные тексты, законы и канцелярский язык»;READABILITY_LEVEL_SCALES— обе шкалы для хукаlevel_scalesкласса.Подписи в нижнем регистре, как у
describe_grade(«аспирантура (старше 22 лет)»). В докстрингеcalc_flesch_reading_easyу полосы 50–30 было «Студент университета», в документации — «Университет». Шкала следует документации, докстринг теперь ссылается на константу, а не повторяет таблицу.RIX переводится в класс таблицей Андерсона из ядра (
RIX_GRADES, «университет» — 13 лет обучения) и читается по таблице классов plainrussian, как формулы класса.ReadabilityStats.describe(stat):describe_grade;None.Например, у загадки «Ног нет, а хожу…» Флеш 87,17 читается как «6-й класс», LIX 28,3 — «очень простые тексты, детские книги», RIX 2,0 — «4-6-й класс (9-11 лет)».
scale_levelиз ядра реэкспортирована вruts.readability_stats, как остальные функции интерпретации, и описана на странице функций с примером:scale_level(67.135, READING_EASE_LEVELS)→ «8-й и 9-й класс».Значения метрик не меняются.
describe_grade, сводный класс и перевод индекса Флеша в класс для сводного класса (flesch_reading_easy_to_grade) остаются прежними.Документация, на обоих языках:
describe_levelиdescribeвключают тексты ядра на английской странице и переводят их на русской с хешем;describe, страницы установки — anyts 0.2.9.Демо показывает рядом с индексом Флеша его прочтение: «87 (6-й класс)». Число округляется вниз, как граница полосы, чтобы 89,9 не превратилось в «90 (6-й класс)».
Зависимость —
anyts>=0.2.9,<0.3. Вuv.lockсдвинулись толькоanyts(0.2.8 → 0.2.9) и версия самой ruts.Метод
describeнужен MCP-серверу ruTS-mcp: сейчас сервер держит копии этих таблиц, а с этой версией возьмёт прочтение из библиотеки.Проверка
make test— 1293 теста, 5 пропущены (данные наборов).test_level_scales_follow_docsсверяет обе шкалы с таблицами страницы функций: перестановка подписей или сдвиг границы его роняют.test_scale_level— реэкспорт и значения вне 0–100.test_describe:Noneу формулы Мацковского;READABILITY_LEVEL_SCALES.tests/test_docs.pyсверяет переводы новых разделов ядра по хешу.make lint,make docs-build(mkdocs build --strict) и pre-commit — без замечаний.🤖 Generated with Claude Code