Spaces:
Sleeping
Sleeping
Pipeline Module
ВАЖНО!!! README.md сгенерировано автоматически, поэтому может содержать неточности.
Модуль реализует пайплайн для обработки XML документов и создания структурированного датасета. Пайплайн включает несколько последовательных этапов обработки, от парсинга XML до создания векторизованного датасета.
Основные этапы обработки
1. Парсинг XML файлов
- Чтение XML файлов из указанной директории
- Извлечение текстового и табличного контента
- Сохранение метаданных документов
2. Обработка аббревиатур
- Извлечение аббревиатур из текста документов
- Объединение с предварительно подготовленными аббревиатурами
- Применение аббревиатур к текстовому и табличному контенту
- Сохранение списка обнаруженных аббревиатур
3. Извлечение иерархической структуры
- Парсинг структуры текстового контента
- Парсинг структуры табличного контента
- Создание иерархического представления документов
4. Создание датасета
- Формирование структурированного датасета
- Векторизация текстов
- Сохранение результатов
Использование
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
- Векторизация выполняется после создания датасета
- Аббревиатуры применяются как к текстовому, так и к табличному контенту
- Иерархическая структура извлекается отдельно для текста и таблиц