Действительно очень широкий вопрос, но я могу попытаться дать вам некоторые общие идеи, которых может быть достаточно для начала.По сути, это звучит так, будто вы говорите о сложной проблеме синтаксического анализа - сканировании текста и поиске смысла для определенных фрагментов.В зависимости от того, что именно вы ищете, вы можете получить хорошие результаты из нескольких регулярных выражений - такие вещи, как номера телефонов, адреса электронной почты и даты, имеют довольно стандартные структуры, которые должны соответствовать друг другу.Для других точек данных могут быть полезны некоторые индикаторные слова - фраза «отход от» может указывать на то, что ниже следует адрес.Сообщество по обработке естественного языка также имеет большой набор инструментов, доступных для обработки текста - проверьте такие элементы, как речевые теги и семантические анализаторы, если они соответствуют тому, что вы пытаетесь сделать.
Вооружившись этими приемами, вы можете следовать базовому итеративному процессу разработки: для каждой точки данных в ожидаемой структуре вывода определите несколько простых правил для ее захвата.Затем запустите приложение для пакета тестовых данных и посмотрите, какие образцы не захватили эту информацию.Посмотрите на образцы и пересмотрите свои правила, чтобы поймать эти образцы.Повторяйте до тех пор, пока экстрактор не достигнет приемлемого уровня точности.
В зависимости от особенностей вашей проблемы, могут быть методы машинного обучения, которые могут автоматизировать большую часть этого процесса для вас.