Хотите извлечь текст из текстового или PDF-файла как разные абзацы - PullRequest
0 голосов
/ 26 сентября 2019

Проверьте следующий текстовый фрагмент

В ВЫСОКОМ СУДЕ ГУДЖАРАТА В АХМЕДАБАД Р / УГОЛОВНОЕ ОБРАЩЕНИЕ №.251 из 2009

ДЛЯ УТВЕРЖДЕНИЯ И ПОДПИСИ:

ПОЧЕТНОЕ ПРАВОСУДИЕ РПДХОЛЯРИЯ

=========================================================== 1 Можно ли разрешить репортерам местных газет видетьсуждение?2 Направляться к Репортеру или нет?3 Желают ли их светлости увидеть справедливую копию решения?4 Включает ли это дело существенный вопрос права в отношении толкования Конституции Индии или какого-либо постановления, принятого по ней?========================================================== СОСТОЯНИЕ ГУДЖАРАТА, СМ РАО, ИНСПЕКТОРА ПИЩЕВЫХ УСЛУГ, УПРАВЛЕНИЕ ПРОТИВ ДХАРМЕШБХАИ НАРАРИБХАИ ГАНДИ =========================================================== Внешний вид: MS HB PUNANI, APP (2) для заявителя (ей) Нет1 MR DK MODI (1317) для оппонента (ов) / респондента (ов) № 1 ========================================================= КОРАМ: ПОЧЕТНОЕ ПРАВОСУДИЕ РПДХОЛЯРИЯ

Дата: 12/03/2019

УСТНОЕ СУДЕЙСТВО 1. Государство-заявитель штата Гуджарат предпочло настоящую апелляцию в соответствии с разделом 378 (1) (3) Уголовно-процессуального кодекса 1973 года против решения и оправдательного приговораот Страница 1 из 12 R / CR.A / 251/2009 ПОСТАНОВЛЕНИЕ 17.11.2008, вынесенное ученым 2-м дополнительным судьей по гражданским и судебным делам первого класса, Надиад по делу о продовольствии № 1 2007 года.

Короткие факты, послужившие основанием для настоящей апелляции, заключаются в том, что 10.11.2006 года, примерно в 18.00, заявитель посетил место обвиняемого ответчика, расположенное в Джуна Маханпура, Рабаривад, Надиад, вместе со свидетелем Панча, и ответчик был признан виновнымв предварительных пунктах.Заявитель назвал себя инспектором по продуктам питания и после указания в форме № 6 приобрел образец грязи горчицы в присутствии панча для анализа.После этого заявитель по контролю за продуктами питания разделил указанный образец на равные три части, и после завершения формальностей по упаковке и запечатыванию полученных подписей поставщика и панчей, и из указанных трех частей одна часть была отправлена ​​общественному аналитику Вадодаре для анализа.и оставшиеся две части были отправлены в местное управление здравоохранения, Гандхинагар.После этого общественный аналитик направил свой отчет.В указанном отчете указывается, что образец семян горчицы в грязном виде неправильно маркирован, что является нарушением положений Закона 1954 года о пищевых добавках (сокращенно «Закон») и Правил, сформулированных в нем.Утверждается, что, следовательно, образец семян горчицы был неправильно маркирован, и, таким образом, обвиняемый совершил преступление.** Страница 2 из 12 R / CR.A / 251/2009 * СУЖДЕНИЕ * Таким образом, жалоба была подана против обвиняемого-ответчика.

Я хочу написать такую ​​программу, какчто оно следует данным ограничениям.Остерегайтесь того факта, что это всего лишь один файл, который у меня есть, как файлы 40 КБ, и он должен работать на всех файлах.Все файлы имеют некоторые различия, но базовый формат для каждого файла одинаков.

Ограничения.

  1. Он должен начать процесс извлечения текста после «метаданных»,Метаданные - это данные о файле от начала файла, т. Е. «В верховном суде штата Гуджарат» до устного решения.Во всех моих файлах есть разные ТОЧКИ после окончания строки.Поэтому мне нужны все эти пункты в виде отдельного абзаца (см. Текст имеет 2 пункта, он мне нужен в разных абзацах).

  2. Проверьте строки курсивом, это панели в текстовом / PDF-файле.Мне нужно удалить их, так как они не имеют никакого смысла для текстового содержимого, которое я хочу.

  3. Эти файлы доступны в текстовом или PDF-формате, поэтому я могу использовать любой из них.Но я новичок в Python, поэтому я не знаю, как и с чего начать.У меня просто есть базовые знания в Python.

  4. Эти данные будут превращены в «корпус» для дальнейших процессов построения огромной экспертной системы, поэтому я надеюсь, что вы знаете, что нужно сделать.

1 Ответ

0 голосов
/ 26 сентября 2019
  1. Прочтите официальные документы python !
  2. Начните с базового типа python str и его методов .Один из его методов, find, найдет подстроки в вашем тексте.
  3. Используйте нотацию Python для выделения нужной части текста, например,
text = """YOUR TEXT HERE..."""
meta_start = 'In the high court of gujarat'
meta_end = 'ORAL JUDGMENT'
pos1 = text.find(meta_start)
pos2 = text.find(meta_end)
if pos2 > pos1 and pos1 > -1:
    # text is found, extract it
    text1 = text[meta_start + len(meta_start):meta_end - 1]
После этого вы можете пойти дальше и сохранить извлеченный текст в базу данных.

Конечно, лучшим и более сложным решением будет использование регулярных выражений ,но это другая история - попробуйте найти правильный путь для себя!

Что касается курсива и другого форматирования текста, вы никогда не сможете выделить его в виде обычного текста (если у вас нет некоторого «мета»)маркеры, например, теги [i]).

...