问题描述
我正在用Python构建文本汇总器。我主要针对的文件是通常为pdf格式的学术论文。
我想实现的目标
我想有效地提取论文的正文(摘要),不包括论文的标题,出版者的姓名,图像,方程式和参考文献。
问题
我试图寻找有效的方法来做到这一点,但是我找不到切实可行的方法。我当前使用的代码尝试按句子拆分pdf文档,然后过滤出每句少于平均字符数的条目。下面是代码:
from pdfminer import high_level
# input: string (path to the file)
# output: list of sentences
def pdf2sentences(pdf):
article_text = high_level.extract_text(pdf)
sents = article_text.split('.') #splitting on '.',roughly splits on every sentence
run_ave = 0
for s in sents:
run_ave += len(s)
run_ave /= len(sents)
sents_strip = []
for sent in sents:
if len(sent.strip()) >= run_ave:
sents_strip.append(sent)
return sents_strip
上面的代码似乎工作正常,但是我仍然不能有效地过滤掉摘要部分之前的标题和发布者名称以及结论之后的引用部分之类的东西。而且,诸如图像之类的东西正在导致乱码出现在文本中,这破坏了输出的整体质量。由于奇怪的unicode字符,我无法将输出写入txt文件。
上诉
谢谢您的回答!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)