@YaTe

Как правильно поставить задачу по разработке приложения или какое готовое приложение использовать?

Стоит задача:
Разбирать документы из относительно неструктурированного вида и трансформировать данные из них в структурированный вид для загрузки в БД, при этом список полей в БД конечен и заранее известен.

Нюансы:
1) Документы могут быть в разных форматах, например Excel, PDF, а иногда это просто веб-страница на сайте
2) Как следствие, данные поступающие из различных источников представлены в разном виде. При этом, если в excel'ке данные более структурированные (почти все содержится в таблице), то в PDF'е часть данных может быть представлена текстом и быть общей для всех представленных элементов
3) Задача повторяющаяся, то есть в любом формате со временем будет несколько документов
4) Есть вероятность, что в каких-то документах недостаточно данных для полного заполнения БД, тогда в идеале должна быть возможность добавить дополнительный документ

Чтобы было нагляднее возьмем пример: спецификации каких-нибудь железок, к примеру жестких дисков. Хотим составить БД со спеками дисков. Есть определенный набор параметров, который мы хотим в нашу базу занести.
У самсунга на сайте есть PDF'ки со спецификациями их дисков (как пример, 983-я серия. Большая часть нужных спецификаций лежит в таблице. Там представлены диски сразу в двух форм-факторах, соответственно, например, размерные характеристики будут общими для двух разных семейств: 2.5" и М.2 дисков. А какая-то информация, например, интерфейс или наработка на отказ, будет общей для всех дисков. В таком случае, ячейки будут объединяться. А какая-то часть информации будет доступна в тексте, а не таблице, и ее оттуда тоже надо вытащить.
А вот у тошибы спецификации представлены прямо на сайте. Но информация там структурирована по другому и объем ее отличается. А у условного производителя XYZ на сайте будут лежать эксели и информация будет структурирована иным образом.

Вопрос:
Какая дисциплина позволяет решить задачу по наполнению данными БД? Изучение описание таких дисциплин (процессов), как Data Mining, Data Wrangling и прочим не помогуают понять, в какую сторону именно смотреть. То есть тут с одной стороны не надо ничего предсказывать и искать insights, про которые по идее говорит Data Mining, с другой стороны для Data Wrangling'а информация слишком плохо структурирована. То есть скорее всего нужен какой-то инструмент эксплуатирующий машинной обучение / нейронные сети (для повышения качества вычленения информации, особенно из нетабличных блоков), но непонятно как спросить у гугла про правильный инструмент или как поставить задачу разработчикам. Идеальный ответ - какой инструмент (если он существует) решает такую задачу, а если не существует, то какого профиля разработчиков искать, чтобы разработать приложение, рещающее данную задачу.

Спасибо.
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
В общем случае - такое решается наемом персонала, который будет писать парсеры для каждого производителя
Или покупкой апи или всего массива информации

Парсить пдф/ексель - занятие слабо подьемное

Тем более, что все уже есть в вебе
https://www.samsung.com/semiconductor/minisite/ssd...
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
тамита парсер

но вообще простого решения нет, как sim3x и сказал, обычно пишется набор парсеров
Ответ написан
Комментировать
@YaTe Автор вопроса
Если я правильно понимаю, то парсеры - это решение, которое было доступно и в "прошлой жизни", то есть их можно было написать и 10 лет назад. Весь смысл в том, чтобы избавиться от написания жестко алгоритмизированных парсеров за счет новых технологий (ML/нейросети/...), особенно с учетом того, что данные могут меняться от документа к документу (состав, формат) даже у одного "вендора"

Есть еще идеи?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы