# Библиотека извлечения и сборки документов Библиотека для извлечения структурированной информации из документов и их последующей сборки. ## Основные компоненты - **Destructurer**: Разбивает документ на чанки и связи между ними, а также извлекает дополнительные сущности - **Builder**: Собирает документ из чанков и связей - **Entity**: Базовый класс для всех сущностей (Document, Chunk, Acronym и т.д.) - **Link**: Класс для представления связей между сущностями - **ChunkingStrategy**: Интерфейс для различных стратегий чанкинга - **TablesProcessor**: Процессор для извлечения таблиц из документа ## Установка ```bash pip install -e . ``` ## Использование ```python from ntr_text_fragmentation.core import Destructurer, Builder from ntr_fileparser import ParsedDocument # Пример использования Destructurer с обработкой таблиц document = ParsedDocument(...) destructurer = Destructurer( document=document, strategy_name="fixed_size", process_tables=True ) entities = destructurer.destructure() # Пример использования Builder builder = Builder(document) builder.configure({"chunking_strategy": "fixed_size"}) reconstructed_document = builder.build() ``` ## Модули ### Core Основные классы для работы с документами: - **Destructurer**: Разбивает документ на чанки и другие сущности - **Builder**: Собирает документ из чанков и связей ### Chunking Различные стратегии разбиения документа на чанки: - **FixedSizeChunkingStrategy**: Разбиение на чанки фиксированного размера ### Additors Дополнительные обработчики для извлечения сущностей: - **TablesProcessor**: Извлекает таблицы из документа и создает для них сущности ### Models Модели данных для представления сущностей и связей: - **LinkerEntity**: Базовый класс для всех сущностей и связей - **DocumentAsEntity**: Представление документа как сущности - **TableEntity**: Представление таблицы как сущности