Советские христоматии (литература)¶
SovChLit(data_dir=DEFAULT_DATASET_DIR)
Набор данных советских хрестоматий по литературе. Для его формирования используются оцифрованные издания проекта «Школьные учебники СССР»:
- Родная речь. Книга для чтения в I классе начальной школы. Е.Е. Соловьева, Л.А. Карпинская, Н.Н. Щепетова
Исключения:
SourceTypeError-data_dir, который не строка и неPath.
from ruts.datasets import SovChLit
sc = SovChLit()
sc.download()
sc.info
{'Наименование': 'sov_chrest_lit',
'url': 'https://dataverse.harvard.edu/file.xhtml?fileId=3670902&version=DRAFT',
'description': 'Корпус советских хрестоматий по литературе',
'author': 'Шкарин С.С.'}
Параметры¶
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
data_dir |
str / Path |
DEFAULT_DATASET_DIR |
Путь к директории с набором данных; по умолчанию texts в DEFAULT_DATA_DIR |
Атрибуты¶
| Атрибут | Тип | Описание |
|---|---|---|
labels |
tuple[str] |
Кортеж уровней сложности текстов |
info |
dict[str, str] |
Наименование набора данных и справочная информация о нем |
Методы¶
download(force=False) загружает архив sov_chrest_lit_v1.tar.xz из сети с проверкой контрольной суммы и извлекает файлы в директорию sov_chrest_lit_v1.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
force |
bool |
False |
Загрузить набор данных, даже если он уже загружен |
Архив, который не удалось загрузить или который дважды не прошел проверку контрольной суммы, дает DownloadError, архив, который не удалось извлечь, - DataFileError.
check_data() проверяет, что набор данных загружен полностью, и возвращает True; незагруженный или неполный набор дает DatasetNotFoundError с командами загрузки.
get_texts(grade=None, book=None, year=None, category=None, text_type=None, subject=None, author=None, min_len=None, max_len=None, limit=None) извлекает тексты (без заголовков) из набора данных.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
grade |
int |
None |
Уровень сложности текстов (только 1) |
book |
str |
None |
Наименование книги (подстрока без учета регистра и буквы ё) |
year |
int |
None |
Год издания книги |
category |
str |
None |
Категория текстов (подстрока без учета регистра и буквы ё) |
text_type |
str |
None |
Тип текстов: Рассказ, Стихотворение, Сказка, Пословица, Загадка, Песня, Басня, Совет или Шутка |
subject |
str |
None |
Наименование текстов (подстрока без учета регистра и буквы ё) |
author |
str |
None |
Автор текстов (подстрока без учета регистра и буквы ё) |
min_len |
int |
None |
Минимальная длина текста (в символах) |
max_len |
int |
None |
Максимальная длина текста (в символах) |
limit |
int |
None |
Количество текстов |
Неизвестный уровень сложности или тип текстов, book, category, subject или author, который не строка, граница длины, которая не целое число не меньше единицы, минимум больше максимума и limit, который не целое неотрицательное число, дают ParameterError; незагруженный набор данных - DatasetNotFoundError, файл, из которого не удалось извлечь запись, - DataFileError.
for text in sc.get_texts(max_len=100, category="Весна", limit=1):
print(text)
Рыхлый снег темнеет в марте, тают льдинки на окне.
Зайчик бегает по парте и по карте на стене.
get_records с теми же параметрами извлекает записи (с заголовками) из набора данных. Поля записи: grade - уровень сложности, book - книга, year - год издания, category - категория, type - тип текста, subject - наименование, author - автор, text - текст, file - путь к файлу.
record = next(sc.get_records(max_len=100, category="Весна", limit=1))
del record["file"]
record
{'grade': 1,
'book': 'Родная речь. Книга для чтения в I классе начальной школы',
'year': 1963,
'category': 'Весна',
'type': 'Стихотворение',
'subject': 'Март',
'author': 'С. Маршак',
'text': 'Рыхлый снег темнеет в марте, тают льдинки на окне.\n'
'Зайчик бегает по парте и по карте на стене.'}