Skip to content

Добавить в ноутбук о прозаиках раздел об атрибуции авторства - #65

Merged
SergeyShk merged 3 commits into
masterfrom
examples/prose-attribution
Sep 20, 2026
Merged

SergeyShk merged 3 commits into
masterfrom
examples/prose-attribution

Conversation

@SergeyShk

@SergeyShk SergeyShk commented Sep 20, 2026 •

Copy link
Copy Markdown
Owner

Что сделано

В examples/03_prose_authors.ipynb после сверки с дельтой Барроуза добавлен раздел «Атрибуция авторства» - вместо отдельного ноутбука, чтобы не дублировать данные и расстояния.

  • Схема: у каждого автора каждое третье произведение (по алфавиту названий, ключ - пара автор/название) откладывается в тест, профили авторов строятся по остальным произведениям, каждое тестовое окно в 1000 слов относится к автору с ближайшим профилем по новой delta_profiles; список частых единиц и статистики нормировки берутся из обучающих окон, тестовые окна на них не влияют. Для этого в ячейке с окнами сохраняются названия произведений (corpus с колонками author/title/text), остальные разделы не изменились.
  • Перебор: четыре варианта дельты × 100/300/1000/3000 частых единиц × словоформы и символьные триграммы (CharNgramsExtractor) - одна таблица точности. Косинусная дельта на 3000 словоформах угадывает автора в 87 % окон, квадратичная 83 %, классическая Барроуза 63 %, Эдера 67 %; триграммы уступают (до 77 %). Это повторяет вывод Эверта и др. (2015).
  • Матрица ошибок для лучшей конфигурации и пять самых частых ошибок: окна Горького уходят к Герцену, Тургенева - к Пушкину, Герцена - к Лермонтову с самым коротким профилем.
  • Признаки текста как классификатор по тому же протоколу (нормировка по обучающим окнам): ближайший центроид автора по 127 признакам - 44-49 %, вдвое хуже дельты; это закрывает вопрос из сверки, какая из двух матриц лучше узнаёт автора.
  • Zeta для самой частой ошибки (Горький → Герцен): маркеры - лексика эпохи («нежели», «надобно», «вовсе», «б» у Герцена; «надо», «тоже», «про», «тихонько» у Горького); все они входят в 3000 частых слов дельты, Zeta выделяет из них те, что различают именно эту пару.

Итоги дополнены, описание ноутбука на странице примеров (ru/en) и в examples/README.md обновлено.

В пакете: delta_profiles(reference, samples, n_mfw, variant, culling, statistics) в ruts.corpus - расстояния проверяемых текстов до эталонных профилей; частые единицы и нормировка по эталонам или отдельному набору statistics, проверяемые тексты на них не влияют, результат для текста не зависит от соседей по вызову; расчёт расстояний общий с delta. Тесты, описание и пример на странице стилометрии (ru/en). Версия 0.14.0.dev3.

Проверка

  • make notebooks - три ноутбука за 160 с (ноутбук о прозаиках - 115 с), файлы первых двух не изменились.
  • make lint, make test (1020 тестов), pre-commit run --all-files, tests/test_docs.py, mkdocs build --strict.

🤖 Generated with Claude Code

Каждое третье произведение автора откладывается в тест, профили
строятся по остальным, окна в 1000 слов относятся к ближайшему
профилю: четыре варианта дельты, 100-3000 частых единиц, словоформы
и символьные триграммы, признаки текста как классификатор по ближайшему
центроиду, матрица ошибок и маркеры Zeta для самой частой ошибки.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@SergeyShk SergeyShk added documentation Improvements or additions to documentation enhancement New feature or request labels Sep 20, 2026

@SergeyShk SergeyShk left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Прогнал раздел атрибуции локально, три замечания инлайн.

Comment thread examples/03_prose_authors.ipynb Outdated
Comment thread examples/03_prose_authors.ipynb Outdated
Comment thread examples/03_prose_authors.ipynb Outdated
…окон

delta_profiles(reference, samples, n_mfw, variant, culling, statistics):
расстояния проверяемых текстов до эталонных профилей, список частых
единиц и нормировка - по эталонам или отдельному набору statistics,
проверяемые тексты на них не влияют; общий расчет расстояний с delta.
В ноутбуке разбиение на тест по ключу (автор, название), атрибуция
через delta_profiles со статистиками по обучающим окнам, формулировка
про Zeta исправлена: маркеры входят в частые слова дельты.
Версия 0.14.0.dev3.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@SergeyShk SergeyShk added the refactoring Changes in the way the code works internally without changing the output produced label Sep 20, 2026
Ячейка выводит ранги маркеров в списке частых слов обучающих окон,
текст ссылается на нее; число окон Горького у Герцена - 11, как
в матрице ошибок.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@SergeyShk
SergeyShk merged commit 9dda8e1 into master Sep 20, 2026
11 of 12 checks passed
@SergeyShk
SergeyShk deleted the examples/prose-attribution branch September 20, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request refactoring Changes in the way the code works internally without changing the output produced

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants