微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用Python提取文章正文的最佳方法是什么?

如何解决用Python提取文章正文的最佳方法是什么?

摘要

我正在用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

注意:我正在使用this文章作为输入。

上面的代码似乎工作正常,但是我仍然不能有效地过滤掉摘要部分之前的标题和发布者名称以及结论之后的引用部分之类的东西。而且,诸如图像之类的东西正在导致乱码出现在文本中,这破坏了输出的整体质量。由于奇怪的unicode字符,我无法将输出写入txt文件

上诉

有什么方法可以改善此解析器的性能并使之更加一致?

谢谢您的回答!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。