Полное собрание сочинений И.В. Сталина¶
StalinWorks(data_dir=DEFAULT_DATASET_DIR)
Набор данных полного собрания сочинений И.В. Сталина. Для его формирования используются 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
Исключения:
SourceTypeError-data_dir, который не строка и неPath.
from ruts.datasets import StalinWorks
sw = StalinWorks()
sw.download()
sw.info
{'Наименование': 'stalin_works',
'url': 'https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/JMPSDM',
'description': 'Полное собрание сочинений И.В. Сталина',
'author': 'Шкарин С.С.'}
Параметры¶
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
data_dir |
str / Path |
DEFAULT_DATASET_DIR |
Путь к директории с набором данных; по умолчанию texts в DEFAULT_DATA_DIR |
Атрибуты¶
| Атрибут | Тип | Описание |
|---|---|---|
labels |
tuple[str] |
Кортеж номеров томов |
info |
dict[str, str] |
Наименование набора данных и справочная информация о нем |
Методы¶
download(force=False) загружает архив stalin_works_v1.tar.xz из сети с проверкой контрольной суммы и извлекает файлы в директорию stalin_works_v1.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
force |
bool |
False |
Загрузить набор данных, даже если он уже загружен |
Архив, который не удалось загрузить или который дважды не прошел проверку контрольной суммы, дает DownloadError, архив, который не удалось извлечь, - DataFileError.
check_data() проверяет, что набор данных загружен полностью, и возвращает True; незагруженный или неполный набор дает DatasetNotFoundError с командами загрузки.
get_texts(volume=None, year=None, text_type=None, is_translation=None, source=None, subject=None, topic=None, min_len=None, max_len=None, limit=None) извлекает тексты (без заголовков) из набора данных.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
volume |
int |
None |
Номер тома |
year |
int |
None |
Год написания |
text_type |
str |
None |
Тип текстов: Протокол, Прошение, Стихотворение, Телеграмма, Доклад, Приказ, Статья, Выступление, Беседа, Записка, Отчет, Письмо, Брошюра, Прокламация, Постановление, Резолюция или Комментарий; у Протокол, Прошение и Стихотворение текстов в наборе нет |
is_translation |
bool |
None |
Признак перевода |
source |
str |
None |
Первоначальный источник текстов (подстрока без учета регистра и буквы ё) |
subject |
str |
None |
Наименование текстов (подстрока без учета регистра и буквы ё) |
topic |
str |
None |
Наименование подраздела текстов (подстрока без учета регистра и буквы ё) |
min_len |
int |
None |
Минимальная длина текста (в символах) |
max_len |
int |
None |
Максимальная длина текста (в символах) |
limit |
int |
None |
Количество текстов |
Номер тома вне 1-16, неизвестный тип текстов, source, subject или topic, который не строка, граница длины, которая не целое число не меньше единицы, минимум больше максимума и limit, который не целое неотрицательное число, дают ParameterError; незагруженный набор данных - DatasetNotFoundError, файл, из которого не удалось извлечь запись, - DataFileError.
for text in sw.get_texts(year=1937, text_type="Письмо", limit=1):
print(text)
Маме – моей привет!
Как живет, как чувствует себя мама – моя? Передают, что ты здорова и бодра. Правда это? Если это правда, то я бесконечно рад этому. Наш род, видимо, крепкий род.
Я здоров.
Мои дети тоже чувствуют себя хорошо.
Желаю здоровья, живи долгие годы, мама – моя.
Твой Coco.
10. III.37 г.
get_records с теми же параметрами извлекает записи (с заголовками) из набора данных. Поля записи: volume - номер тома, year - год написания, type - тип текста, is_translation - признак перевода, source - первоначальный источник, subject - наименование, topic - подраздел, text - текст, file - путь к файлу.
record = next(sw.get_records(year=1937, text_type="Письмо", limit=1))
del record["file"]
record
{'volume': 14,
'year': 1937,
'type': 'Письмо',
'is_translation': False,
'source': 'Книга "Иосиф Сталин в объятиях семьи"',
'subject': 'Письмо матери 10 марта 1937 года',
'topic': '',
'text': 'Маме – моей привет!\n'
'Как живет, как чувствует себя мама – моя? Передают, что ты здорова и бодра. '
'Правда это? Если это правда, то я бесконечно рад этому. Наш род, видимо, '
'крепкий род.\n'
'Я здоров.\n'
'Мои дети тоже чувствуют себя хорошо.\n'
'Желаю здоровья, живи долгие годы, мама – моя.\n'
'Твой Coco.\n'
'10.\xa0III.37\xa0г.'}