Перейти к содержанию

Полное собрание сочинений И.В. Сталина

ruts.datasets.StalinWorks

Описание

Модуль для работы с набором данных полного собрания сочинений И.В. Сталина.

Для формирования набора данных используются 16 основных томов оцифрованного полного собрания сочинений И.В. Сталина:

  • Том 1. Произведения 1901-1907
  • Том 2. Произведения 1907-1913
  • Том 3. Произведения 1917 (март-октябрь)
  • Том 4. Произведения 1917-1920
  • Том 5. Произведения 1921-1923
  • Том 6. Произведения 1924
  • Том 7. Произведения 1925
  • Том 8. Произведения 1926
  • Том 9. Произведения 1926-1927
  • Том 10. Произведения 1927
  • Том 11. Произведения 1928-1929
  • Том 12. Произведения 1929-1930
  • Том 13. Произведения 1930-1934
  • Том 14. Произведения 1934-1940
  • Том 15. Произведения 1941-1945
  • Том 16. Произведения 1946-1952

Параметры

Параметр Тип По умолчанию Описание
data_dir str DEFAULT_DATA_DIR.joinpath("texts") Путь к директории с набором данных

Атрибуты

Атрибут Тип Описание
labels tuple[str] Кортеж номеров томов

Методы

download

Выполняет загрузку набора данных из сети и извлечение файлов.

Параметры:

Параметр Тип По умолчанию Описание
force bool - Загрузить набор данных, даже если он уже загружен

Рассмотрим пример загрузки набора данных и вывод информации о нем:

Пример

Код:

# Загрузка библиотек
from ruts.datasets import StalinWorks

# Создание объекта набора данных
sw = StalinWorks(data_dir='.')

# Загрузка набора данных
sw.download(force=True)

# Отображение информации о наборе данных
sw.info

Результат:

{'description': 'Полное собрание сочинений И.В. Сталина',
'url': 'https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/JMPSDM',
'Наименование': 'stalin_works'}

get_texts

Выполняет извлечение текстов (без заголовков) из набора данных.

Параметры:

Параметр Тип По умолчанию Описание
volume int - Номер тома
year int - Год издания книги
text_type str - Тип текстов
is_translation bool - Признак перевода
source str - Первоначальный источник текстов
subject str - Наименование текстов
topic str - Наименование подраздела текстов
min_len int - Минимальная длина текста (в символах)
max_len int - Максимальная длина текста (в символах)
limit int - Количество текстов

Рассмотрим пример извлечения текстов из набора данных, выбрав только 1 письмо за 1937 год:

Пример

Код:

# Загрузка библиотек
from ruts.datasets import StalinWorks

# Создание объекта набора данных
sw = StalinWorks()

# Отображение извлеченных текстов
for i in sw.get_texts(year=1937, text_type='Письмо', limit=1):
    print(i)

Результат:

Маме – моей привет!
Как живет, как чувствует себя мама – моя? Передают, что ты здорова и бодра. Правда это? Если это правда, то я бесконечно рад этому. Наш род, видимо, крепкий род.
Я здоров.
Мои дети тоже чувствуют себя хорошо.
Желаю здоровья, живи долгие годы, мама – моя.
Твой Coco.
10. III.37 г.

get_records

Выполняет извлечение записей (с заголовками) из набора данных.

Параметры:

Параметр Тип По умолчанию Описание
volume int - Номер тома
year int - Год издания книги
text_type str - Тип текстов
is_translation bool - Признак перевода
source str - Первоначальный источник текстов
subject str - Наименование текстов
topic str - Наименование подраздела текстов
min_len int - Минимальная длина текста (в символах)
max_len int - Максимальная длина текста (в символах)
limit int - Количество текстов

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

Пример

Код:

# Загрузка библиотек
from ruts.datasets import StalinWorks

# Создание объекта набора данных
sw = StalinWorks()

# Отображение извлеченных текстов
for i in sw.get_records(year=1937, text_type='Письмо', limit=1):
    print(i)

Результат:

{'file': PosixPath('../ruTS/ruts_data/texts/stalin_works/volume_14/59'),
'is_translation': False,
'source': 'Книга "Иосиф Сталин в объятиях семьи"',
'subject': 'Письмо матери 10 марта 1937 года',
'text': 'Маме – моей привет!\n'
        'Как живет, как чувствует себя мама – моя? Передают, что ты здорова и '
        'бодра. Правда это? Если это правда, то я бесконечно рад этому. Наш '
        'род, видимо, крепкий род.\n'
        'Я здоров.\n'
        'Мои дети тоже чувствуют себя хорошо.\n'
        'Желаю здоровья, живи долгие годы, мама – моя.\n'
        'Твой Coco.\n'
        '10.\xa0III.37\xa0г.',
'topic': '',
'type': 'Письмо',
'volume': 14,
'year': 1937}