muryshev's picture
update
86c402d
|
raw
history blame
2.79 kB
# Библиотека извлечения и сборки документов
Библиотека для извлечения структурированной информации из документов и их последующей сборки.
## Основные компоненты
- **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**: Представление таблицы как сущности