Spaces:
Sleeping
Sleeping
File size: 5,270 Bytes
57cf043 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# Pipeline Module
> ВАЖНО!!! README.md сгенерировано автоматически, поэтому может содержать неточности.
Модуль реализует пайплайн для обработки XML документов и создания структурированного датасета. Пайплайн включает несколько последовательных этапов обработки, от парсинга XML до создания векторизованного датасета.
## Основные этапы обработки
### 1. Парсинг XML файлов
- Чтение XML файлов из указанной директории
- Извлечение текстового и табличного контента
- Сохранение метаданных документов
### 2. Обработка аббревиатур
- Извлечение аббревиатур из текста документов
- Объединение с предварительно подготовленными аббревиатурами
- Применение аббревиатур к текстовому и табличному контенту
- Сохранение списка обнаруженных аббревиатур
### 3. Извлечение иерархической структуры
- Парсинг структуры текстового контента
- Парсинг структуры табличного контента
- Создание иерархического представления документов
### 4. Создание датасета
- Формирование структурированного датасета
- Векторизация текстов
- Сохранение результатов
## Использование
```python
from components.embedding_extraction import EmbeddingExtractor
from components.parser.pipeline import DatasetCreationPipeline
from components.parser.abbreviations.abbreviation import Abbreviation
# Инициализация пайплайна
pipeline = DatasetCreationPipeline(
dataset_id="my_dataset",
vectorizer=EmbeddingExtractor(),
prepared_abbreviations=[], # список предварительно подготовленных аббревиатур
xml_ids=["doc1", "doc2"], # список идентификаторов XML файлов
save_intermediate_files=True # сохранять ли промежуточные файлы
)
# Запуск пайплайна
dataset = pipeline.run()
```
## Структура выходных данных
### Основные файлы
- `dataset.csv` - финальный датасет с векторизованными текстами
- `abbreviations.csv` - извлеченные аббревиатуры
- `xml_info.csv` - метаданные XML документов
### Промежуточные файлы (опционально)
- `txt/*.txt` - извлеченный текстовый контент
- `txt_abbr/*.txt` - текстовый контент после применения аббревиатур
- `jsons/*.json` - иерархическая структура документов
## Параметры конфигурации
### DatasetCreationPipeline
- `dataset_id: str` - идентификатор создаваемого датасета
- `vectorizer: EmbeddingExtractor` - векторизатор для создания эмбеддингов
- `prepared_abbreviations: list[Abbreviation]` - предварительно подготовленные аббревиатуры
- `xml_ids: list[str]` - список идентификаторов XML файлов для обработки
- `save_intermediate_files: bool` - сохранять ли промежуточные файлы
## Зависимости
### Внутренние компоненты
- `components.embedding_extraction.EmbeddingExtractor`
- `components.parser.abbreviations.AbbreviationExtractor`
- `components.parser.features.HierarchyParser`
- `components.parser.features.DatasetCreator`
- `components.parser.xml.XMLParser`
### Внешние библиотеки
- pandas
- numpy
- pathlib
## Структура директорий
```
data/
└── regulation_datasets/
└── {dataset_id}/
├── abbreviations.csv
├── xml_info.csv
├── dataset.csv
├── embeddings.pt
├── txt/ # (опционально)
├── txt_abbr/ # (опционально)
└── jsons/ # (опционально)
```
## Примечания
- Все промежуточные файлы сохраняются только если установлен флаг `save_intermediate_files=True`
- Векторизация выполняется после создания датасета
- Аббревиатуры применяются как к текстовому, так и к табличному контенту
- Иерархическая структура извлекается отдельно для текста и таблиц |