@alekseyizmaylov

Автоматизация большого объема информации?

Всем доброго дня,
уважаемые спецы, нужен Ваш совет:
есть БОЛЬШОЙ объем информации - нормативные документы в области строительства,
как можно программными способами, при помощи какого-либо языка программирования, автоматизировать эту кучу информации, чтобы каждый раз не перечитывать эти тонны норм, а быстро и непринужденно находить нужную информацию?
Выполнить это задачу хочу сам, опыт в программировании мал, но грызть гранит науки готов - нужно правильное направление вгрызания ))
Как и на каком языке? Простота и эффективность приветствуется )
  • Вопрос задан
  • 258 просмотров
Решения вопроса 2
DDDsa
@DDDsa
1. Определяем виды и структуру документов. Для парсинга потребуются либо ключевые слова (например первое число после фразы "Высота:" или вся строка после фразы "Задание: ") либо расположение абзацев, знаков (Например, последний абзац — всегда описание или список, начинающийся с - или * — это перечень материалов и т д). Если структура произвольная, то тут два выхода:
- либо сохраняем весь текст целиком (но тут сложный поиск не реализовать);
- либо обрабатываем вручную каждый документ (трудоёмко, если документов много).

2. Выбираем язык, который больше нравится; ищем для этого языка библиотеки для работы с нужными форматами (doc, PDF) или способы выкрутиться, например, сконвертировать в другой формат, с которым работать удобнее и т д.

3. Выбираем БД и библиотеку для работы с ней нашего языка. Создаём схему (таблицы), которая соответствует задаче.

4. По определённой в пункте 1 структуре начинаем парсить документы. Сначала берём один документ и пишем парсер для него, потом пытаемся примерить этот парсер для другого документа — понимаем, что нужно изменить, расставляем условия и т д. В итоге должен получиться набор данных, вроде массива объектов, где каждый объект — распарсенный документ.

5. Сохраняем полученный массив объектов в БД, по пути правим схему, потому что наверняка в п. 3 мы учли не всё.

6. По сути, на этом можно закончить, далее поиск можно осуществлять запросами, средствами БД. Но если интересно, или если данными будут пользоваться другие люди — можно написать интерфейс. Это уже следующая большая задача: выбор интерфейса и его реализация.
Ответ написан
Просто для поиска неструктурированной текстовой информации можно взять готовое ПО, например, DocFetcher.
Это такой поисковик с открытым исходным кодом для файлов на компьютере на основе Apache Lucene.
Если нужно что-то более специализированное, тогда берем в руки подходящий язык программирования (например, Java) и ищем подходящие библиотеки для работы с документами, например, Apache Tika. Ну а самая сложная часть - это анализ текста с целью извлечения характеристик, Information Extraction (IE).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Если вам хочется сделать систему с нуля для саморазвития, и важен сам процесс и экспа - делайте.
Если нужнее результат, а не процесс, то стоит погуглить готовые системы типа того-же архивариуса, например.
Ответ написан
Комментировать
@nrgian
Годится любой язык программирования общего назначения.

Из специфического под документы - разве что СУБД типа FTS (например, SphinxSearch)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы