muryshev's picture
update
86c402d
|
raw
history blame
2.79 kB

Библиотека извлечения и сборки документов

Библиотека для извлечения структурированной информации из документов и их последующей сборки.

Основные компоненты

  • Destructurer: Разбивает документ на чанки и связи между ними, а также извлекает дополнительные сущности
  • Builder: Собирает документ из чанков и связей
  • Entity: Базовый класс для всех сущностей (Document, Chunk, Acronym и т.д.)
  • Link: Класс для представления связей между сущностями
  • ChunkingStrategy: Интерфейс для различных стратегий чанкинга
  • TablesProcessor: Процессор для извлечения таблиц из документа

Установка

pip install -e .

Использование

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: Представление таблицы как сущности