我正在创建一个Python脚本,该脚本应该从系统加载一堆PDF文件,进行一些数据分析并输出结果。数据分析的本质是,我必须按段落分析PDF,并且对于每个段落,我都必须遍历每个短语,检查是否满足某些条件。
我当前正在使用Tika进行解析。这就是我评估段落的方式。
这是我当前正在做的事情,正在加载内容,然后用唯一的字符串替换每次出现的一个或多个换行符。用空格替换每个常规换行符,用双换行替换该唯一字符串。我这样做是为了更清楚哪个换行符分隔一个段落。然后,我继续提取段落并返回没有重复的段落列表(Tika有时会重复内容)。
def getpdfcontent(path):
pdf_content = extract_pdf(path)
text = re.sub(r"\n{2,}", "<131313>", pdf_content['content'])
text = text.replace("\n", " ")
text = text.replace("<131313>", "\n\n")
paragraphs = extractparagraphs(text.splitlines())
return removeduplicates(paragraphs)
这就是我提取段落的方式。我检查当前行是否为空,当前段落中是否包含某些内容,然后将其附加到列表中。
def extractparagraphs(lines):
current = ""
paragraphs = []
for line in lines:
if not line.strip():
if current.strip():
paragraphs.append(current)
current = ""
continue
current += line.strip()
return paragraphs
这就是我的语气,我可能会加上!?也要拆分。
def getphrases(document):
phrases = []
phr = document.split(".")
phrases.extend(phr)
return phrases
现在我的首要任务是知道我是否可以改善解析度? 如果没有,我可以做些优化吗?