Извлечь все предложения из файла PDF - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь извлечь все предложения из PDF. Мой подход там с тика и парсер ищет местоположение точек с некоторыми ограничениями, чтобы затем выводить буквы между двумя точками. Это, в конце концов, приводит к иногда неправильным предложениям вроде: '0%!25%!50%!75%!100%!0%!5%!10%!15%!20%!0.1!0.2!0. и особенно, если в pdf есть таблицы или рисунки.

from tika import parser

raw = parser.from_file(path)

def find_points(text):
    locactions = []
    numbers = [str(i) for i in range(10)]
    for i,char in enumerate(text):
        prev_char = text[i-1] if i > 0 else None
        fol_char = text[i+1] if i+1 < len(text) else None
        if char == "." and prev_char not in numbers and fol_char not in numbers :
            locactions.append(i+1)            
    return locactions 

def get_sentence(text):
    locations = find_points(text)
    sentences = []
    for i,loc in enumerate(locations):
        if loc != locations[-1]:
            sentence = text[loc:locations[i+1]] if i < len(locations) else text[loc:]        
            if len(sentence) > 4 and "\r" not in sentence:
                sentences.append(sentence.replace("\n",""))#.replace(".",""))     
    return sentences

Кто-нибудь делал что-то подобное и помог бы мне здесь?

...