Skip to content

nevmenandr/RSD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dataset DH DOI R

Русский стилеметрический датасет

Аннотация

В репозитории размещены русскоязычные тексты, приготовленные для стилеметрических экспериментов и учебных занятий. Все тексты находятся в общественном достоянии, сгруппированы по периодам, жанрам и объемам, имена файлов подготовлены для обработки с помощью пакета stylo для языка R. Текстовые коллекции в составе датасета подходят для проверки гипотез, тестирования инструментов автоматической классификации и организации учебных занятий по компьютерному анализу текста.

Библиографическая ссылка

Если вы используете этот датасет в научной работе, пожалуйста, сошлитесь на него в своей публикации:

Орехов Б. Русский стилеметрический датасет : [набор данных] / Б. Орехов. — Версия 1.0. — Zenodo, 2026. — DOI: 10.5281/zenodo.20701309. (ГОСТ)

Состав датасета

Для специалиста по истории языка и литературы очевидно, что при работе с автоматической классификацией текстов нельзя смешивать произведения и авторов разных периодов. При составлении датасета таким разграничениям уделено особенное внимание.

Тексты по авторам

Художественные

По периодам
XVIII в.

Прозаические художественные тексты XVIII века

Первая половина XIX в.

Прозаические художественные тексты первой половины XIX века

Вторая половина XIX в.
Рубеж XIX-XX вв.

Прозаические художественные тексты рубежа XIX-XX веков

Автор и псевдоним

А. П. Чехов и А. Чехонте

Тексты по полу

Прозаические художественные тексты, противопоставленные по полу автора

Тексты по возрасту

Тексты 30-летних и 50-летних, опубликованные в 1832 и 1833 годах

Тексты по поколению

Тексты поколения С. Т. Аксакова и Л. Н. Толстого, опубликованные в 1856-1859 годах

Публицистические

Публицистика второй половины XIX века

Научные

Объединенный набор для разных наук

По отдельным наукам

Тексты по жанрам

Тексты разных жанров

Тексты по направлениям

Художественные

Романтизм и реализм

Публицистические

Западники и славянофилы

Стих и проза

Речь персонажей

Проза

Драматургия

Сгенерированные и естественные

Объем датасета

Параметр Значение
Общее число документов 322
Совокупный объем слов 16,031,259
Средняя длина документа 49787 слов
Общее число авторов 94
Число подкорпусов 25
Диапазон лет 1763—1932
Временной охват 169 лет
Распределение по векам XVIII в. (12), XIX в. (161), XX в. (23)
Наиболее частые годы 1856 (10), 1833 (8), 1869 (8)

Код для подсчета статистики: dataset_stats.py

Как работать с данными

Формат представления данных

Все тексты представлены в виде отдельных файлов в формате plain text в кодировке UTF-8 и имеют расширение .txt. Имена файлов соответствуют шаблону пакета stylo, позволяющему выделять на визуализации одним цветом тексты, принадлежащие к одному классу. Например, все тексты одного автора содержат имя автора до подчеркивания: turgenev_otcy.txt, turgenev_nakanune.txt.

Тексты одного набора содержатся в папке с именем corpus, как это рекомендовано пользователям пакета stylo. К каждому набору приложен файл README.md, раскрывающий закодированные в имени файла имя автора (или другой идентификатор класса) и название текста и в отдельных случаях источник текста.

Работа с помощью stylo

Самым простым способом работы с представленными здесь данными является их использование с программным пакетом stylo для языка R. Имена файлов и название папок, в которых они хранятся, соответствуют требованиям этого пакета и могут использоваться как есть без изменений. В конце материала приведен алгоритм установки и первых шагов работы со stylo.

Загрузка и первичный анализ с stylo (R)

library(stylo)

# Укажите путь к папке (например, с текстами авторов XIX в.)
setwd("RSD/author/fiction/period/19-2/nonbrevia/")

# Запуск стилеметрического анализа
stylo()

Кластеризация и классификация текстов

Работой со stylo возможности этого датасета не ограничиваются. Представленные тут тексты могут использоваться для оценки (а в отдельных случаях и обучения) методов текстовой классификации и кластеризации.

from pathlib import Path
import matplotlib.pyplot as plt
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.manifold import TSNE
from scipy.cluster.hierarchy import dendrogram, linkage

# Загрузка
path = "RSD/author/fiction/period/19-2/nonbrevia/corpus/"
texts, names = zip(*[(f.read_text(encoding='utf-8'), f.stem) for f in Path(path).glob("*.txt")])

# Векторизация
X = TfidfVectorizer(max_features=500).fit_transform(texts).toarray()

# Визуализация
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 6))
tsne = TSNE(n_components=2, random_state=42).fit_transform(X)
ax1.scatter(tsne[:, 0], tsne[:, 1], s=100)
for i, n in enumerate(names): ax1.annotate(n, tsne[i], fontsize=8)
ax1.set_title("t-SNE")

dendrogram(linkage(X, method='ward'), labels=names, ax=ax2, leaf_rotation=90)
ax2.set_title("Дендрограмма")
plt.tight_layout()
plt.savefig('clusters.png', dpi=150)
plt.show()

Тесты

Tests

Датасет содержит тесты для проверки консистентности данных и отсутствия дубликатов.

Сопутствующие публикации

Обобщающие

Стилеметрические исследования на русскоязычном материале

Научно-популярные материалы

Источники и корпуса

Стилеметрия или стилометрия?

Термин был заимствован русским языком несколько раз. В советской традиции, которой продолжает следовать петербургская школа математической лингвистики, закрепился вариант с е. Московские специалисты под влиянием современного англоязычного термина stylometry предпочитают писать стилометрия. Мы выбираем первый вариант, придерживаясь курса на связность времен и поколений.

Лицензия

Тексты произведений находятся в общественном достоянии (public domain) в соответствии с законодательством РФ.

Метаданные, структура датасета и вспомогательные скрипты распространяются под лицензией GPL-3.0 license — вы можете использовать, адаптировать и распространять их при условии указания авторства и сохранения тех же условий.

Если вы нашли ошибку или хотите добавить тексты

  1. Откройте Issue на GitHub
  2. Пришлите Pull Request с исправлением
  3. Или напишите автору: [email protected]

При добавлении новых текстов убедитесь, что:

  • Текст находится в общественном достоянии
  • Соблюден формат именования author_title.txt
  • Файл добавлен в соответствующую папку corpus
  • Обновлен README.md и corpus.tsv

Часто задаваемые вопросы

Вопрос: Могу ли я использовать датасет для коммерческих проектов?

Ответ: Да, тексты находятся в public domain. Метаданные — под CC BY-SA 3.0.

Вопрос: Как добавить свой собственный текст в датасет для эксперимента?

Ответ: Положите файл в нужную папку corpus, соблюдая именование автор_название.txt.

Вопрос: Поддерживаются ли другие языки, кроме русского?

Ответ: Нет, это специализированный русскоязычный датасет.

Автор датасета

Борис Орехов:

Bluesky Mastodon Telegram X YouTube

academia Logo arxiv Logo dev.to Logo elsevier Logo habr Logo huggingface Logo orcid Logo osf Logo

pypi Logo researchgate Logo semanticscholar Logo wikipedia Logo

About

Репозиторий содежит тексты, подготовленные для стилеметрических исследований и учебных занятий

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors