Spaces:
Sleeping
Sleeping
File size: 2,787 Bytes
86c402d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# Библиотека извлечения и сборки документов
Библиотека для извлечения структурированной информации из документов и их последующей сборки.
## Основные компоненты
- **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**: Представление таблицы как сущности |