Spaces:
Runtime error
Runtime error
| # 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` | |
| - Векторизация выполняется после создания датасета | |
| - Аббревиатуры применяются как к текстовому, так и к табличному контенту | |
| - Иерархическая структура извлекается отдельно для текста и таблиц |