Я пытаюсь извлечь все предложения из 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
Кто-нибудь делал что-то подобное и помог бы мне здесь?