系统整理: python提取英文文献词频,并精准翻译!

Vicki ·
更新时间:2024-11-10
· 835 次阅读

文章目录项目简介:英文文献词频搞定三大步骤One: 英文文献PDF转成纯文本TXT格式Two: 纯文本TXT格式的清洗与英文词频统计Three: 对英文词频进行精准翻译 项目简介:英文文献词频搞定三大步骤

一直以来,读透一篇英文文献并掌握其传递的核心思想一直是一件棘手的事情。相信饱受英文文献折磨的同学,也对于文献中出现的生僻词汇和专业词汇也十分困扰。本文从英文文献的词频的角度提供技术解决方案,主要包括三个主要的部分:

第一步,将英文文献由PDF格式转化成纯文本的格式; 第二步,对纯文本的英文文献进行清洗,并进行词频统计; 第三步,对统计的词频借助网络爬虫进行精准的翻译。 One: 英文文献PDF转成纯文本TXT格式

前期准备

运行程序版本:Python 3.7
集成开发环境:Pycharm 2019.3 Pro
安装pdfminer模块:

注意,在Pycharm提供的第三方库中,有很多pdfminer库,本文使用的是pdfminer3k补充pdfminersix也可以进行PDF的转化,但是它与pdfminer3k中的某个文件发生冲突,请不要两个包放在一个环境中进行调用。

另外,可以通过pip直接安装pdfminer3k

pip install pdfminer3k

模块导入

1.导入sys模块,为了读取本地硬盘中,英文文献文件夹中的多个文件名称

import sys import importlib importlib.reload(sys)

2.导入pdfminer3k核心模块

from pdfminer.pdfparser import PDFParser,PDFDocument from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter from pdfminer.converter import PDFPageAggregator from pdfminer.layout import LTTextBoxHorizontal,LAParams from pdfminer.pdfinterp import PDFTextExtractionNotAllowed

3.构建解析函数parse()

def parse(text_path): """解析PDF文本,并保存到TXT文件中""" fp = open(text_path,'rb') #'rb'表示解读为二进制数据 #用文件对象创建一个PDF文档分析器 parer = PDFParser(fp) #创建一个PDF文档 doc = PDFDocument() #连接分析器,与文档对象--也就说内容与载体连接 parer.set_document(doc) doc.set_parser(parer) #提供初始化密码,如果没有密码,就创建一个空的字符串 doc.initialize() #检测文档是否提供txt格式转化,不提供就忽略 if not doc.is_extractable: raise PDFTextExtractionNotAllowed else: #创建PDF,资源管理器,来共享资源 rsrcmgr = PDFResourceManager() #创建一个PDF设备对象 laparams = LAParams() device = PDFPageAggregator(rsrcmgr,laparams=laparams) #创建一个PDF解释其对象 interpreter = PDFPageInterpreter(rsrcmgr,device) #循环遍历列表,每次处理一个page内容 #doc.get_pages() 获取pages列表 for page in doc.get_pages(): interpreter.process_page(page) #接受该页面的LTPage对象 layout = device.get_result() #这里layout是一个LTpage对象,里面存放着这个page解析出的各种对象 #一般包括LTTextBox,LTFigure,LTImage,LTTextHorizontal等等 #想要获得文本就获得对象的text属性 for x in layout: if(isinstance(x,LTTextBoxHorizontal)): with open(r"prediction_text.txt",'a',encoding= 'utf-8') as f: results = x.get_text() # return results f.write(results+'\n')

4.读取本地文件的所有英文文献的名称,并放在pdfs列表中

import glob pdf_path = r'G:\pythonPjc\PDFminer3k_Project\document_translation' pdfs = glob.glob("{}/*.pdf".format(pdf_path))

原创文章 1获赞 6访问量 159 关注 私信 展开阅读全文
作者:编程学习笔记



文献 系统 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号