File size: 3,309 Bytes
57cf043
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
61
62
63
64
65
66
67
68
69
70
# Features Module

> ВАЖНО!!! README.md сгенерировано автоматически, поэтому может содержать неточности.

Модуль для создания структурированного датасета из обработанных документов. Включает в себя функциональность для парсинга иерархической структуры документов, создания датасета и его векторизации.

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

### HierarchyParser

Класс для извлечения иерархической структуры из текста документа. Позволяет:
- Парсить текстовый контент с учетом уровней вложенности
- Парсить табличный контент
- Создавать иерархическое представление документа

### DatasetCreator

Класс для создания структурированного датасета из обработанных документов. Функциональность:
- Обработка иерархической структуры текста и таблиц
- Создание унифицированного представления данных
- Интеграция с векторизатором для создания эмбеддингов

### DocumentsDataset

Класс для хранения и управления данными датасета. Возможности:
- Хранение структурированных данных документов
- Векторизация текстов с помощью предоставленного векторизатора
- Экспорт данных в pandas DataFrame
- Сохранение датасета в pickle формате

## Структура данных

Каждая строка датасета (`DatasetRow`) содержит следующие поля:
- Index: уникальный идентификатор строки
- Text: текстовое содержание
- DocName: имя документа
- Title: заголовок документа
- DocNumber: номер документа
- LevelParagraph: уровень параграфа
- Pargaraph: номер параграфа
- Duplicate: метка дубликата
- PartLevel1, PartLevel2: уровни частей
- Appendix: информация о приложении
- Table: информация о таблице

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

```python
from components.embedding_extraction import EmbeddingExtractor
from components.parser.features import DatasetCreator, DocumentsDataset

# Инициализация создателя датасета
vectorizer = EmbeddingExtractor()
creator = DatasetCreator(vectorizer)

# Создание датасета
dataset = creator.create_dataset(parsed_xmls, hierarchies)

# Векторизация текстов
dataset.vectorize_with(vectorizer)

# Экспорт в pandas DataFrame
df = dataset.to_pandas()
```

## Зависимости

- numpy
- pandas
- компоненты для векторизации текста (EmbeddingExtractor)