40岁自学Python,研究了一个论文的模块识别办法

如何自学人工智能? 不少同学跃跃欲试,想投入 AI 的怀抱,但苦于不知如何下手。其中,人工智能的核心就是机器学习(Machine Learning),它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。我们今天就来分享一篇来自 EliteDataScience 上专门讲给机器学习入门自学者的教程,一步步教你如何从基础小白进阶为 ML 大拿。快上车吧,别找硬币了,这趟车不要钱!<img ... 阅读详情

嗨,我是大虾,一名品牌从业者,一只野生程序员。

最近接了个小单,使用PyQt为客户开发一个论文格式调整器,界面长这样:

在这里插入图片描述
在这里插入图片描述
需求是:创建各个学校的格式要求,批量处理论文。

众所周知,不同学校的论文格式要求虽然有所不同,但模块基本上大同小异,如:封面、主标题、摘要、关键词、正文(一二三级标题和内容)、致谢和参考文献。

有些论文没有致谢模块,而且位置可能在文章的开始,也可能在文章的结束,大部分情况下,参考文献也会在文章的结束。

格式方面,可以使用win32com来调整,只需要熟悉微软的文档就可以使用了,再不济还可以参考word的宏。

整个需求中,难点其实是模块的识别,具体是,不清楚某些模块是否一定会有,各个模块的前后顺序不确定。经过几天的研究,找到了一套识别的逻辑,大大优化了模块识别的准确性。处理的逻辑如下:

1、程序获取到论文后,先识别一二三级标题所出现的段落,分别记录标题所在段落的索引,保存在列表中:

一级标题 [4, 9, 43, 81, 122]
二级标题 [10, 13, 19, 44, 46, 82, 89, 114]
三级标题 [20, 22, 28, 32, 47, 49, 54]
# 使用正则匹配标题,遍历每个段落,取每个段落前5-8个字符进行匹配,这样能大大提升标题识别的准确率

2、摘要、关键词、致谢及参考文献的识别

遍历每个段落,取每个段落前5-8个字符,使用正则匹配,分别记录到列表中

摘要匹配 [2]
关键词匹配 [3]
参考文献匹配 [137]
致谢匹配 []

每个段落取5-8个字符进行匹配,是符合实际情况的,比如论文的”摘要“二字一定会出现在段落的开头,出现在段落的其他位置,一定不是模块,只是普通的内容。

假如摘要匹配中,记录两个段落的索引那怎么办,如 [2, 4],那就取列表的首个元素为真实的模块,其他模块一样。

3、将所有模块及对应的列表重组成字典元组列表并排序

[('thanks', []), ('sumary', [2]), ('keywords', [3]), ('title1', [4, 9, 43, 81, 122]), ('title2', [10, 13, 19, 44, 46, 82, 89, 114]), ('title3', [20, 22, 28, 32, 47, 
49, 54]), ('reference', [137])]

根据使用元组的最后一个元素即段落索引进行排序,按照论文的段落顺序排列,如此一来,就能确定各个模块的顺序了,此时还需要删除空列表的模块,上面的致谢模块(thanks)列表为空,意味着论文中并不存在这个模块,那可以删除了。在列表元素未知的情况下,需要使用遍历进行判断,空的就删除,不过需要注意的是,不能一边遍历一遍删除,会导致列表的索引出错,从而出现有些元素删除失败,正确的做法是,第一次遍历列表,记录空元素到A列表中,遍历A列表后再从原来的列表中删除。

# 保存空模块的索引
        null_items = []
        for i in new_sort:
            if not i[-1]:
                # new_sort.remove(i) 不能边遍历边删除列表 会导致索引出错
                null_items.append(i)

        # 遍历保存下来的模块 然后从new_sort中删除 此时new_sort列表才是干净的 空模块将会从列表中删除
        for item in null_items:
            new_sort.remove(item)

4、计算相邻模块的范围

删除了空的模块后,使用上面的列表计算模块的段落范围,除了标题外,摘要、关键词、致谢和参考文献都需要计算。

上面的示例中,删除了致谢模块后的列表应该是这样的

[('sumary', [2]), ('keywords', [3]), ('title1', [4, 9, 43, 81, 122]), ('title2', [10, 13, 19, 44, 46, 82, 89, 114]), ('title3', [20, 22, 28, 32, 47, 49, 54]), 
('reference', [137])]

到这里,已经很容易处理了,摘要(sumary)的段落范围为[2, 3],关键词(keywords)的段落范围为[3, 4],参考文献(reference)的段落范围为[137, 最后一段]。

这些模块的段落索引记录好之后,就可以进行格式的调整了,可以使用Range、Paragraphs、Selection等方法进行调整了。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

六、Python练习题

检查学习结果。
在这里插入图片描述

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

这份完整版的Python全套学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪↓

Python自学——蟒蛇绘图 1、turtle库的介绍 Turtle(海龟)库是turtle绘图体系的Python实现。 Python语言的标准库之一。 入门级的图形绘制函数库。 有一只海龟,其实在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形。由程序控制,可以改变位置、颜色、宽度等。 2、turtle库的使用 turtle.setup(width,height,startx,starty)   -setup() 设置... 阅读详情

相关推荐

神经网络的图像识别技术,python神经网络识别图片

接下来就要进行仿真预测了t_1=sim(net,p),net就是你建立的那个网络,p是输入数据,由于网络的权值已经确定了,我们这时候就不需要知道t的值了,也就是说不需要知道他是苹果还是橘子了,而t_1就是网络预测的数据,它可能是1或者是2,也有可能是1.3,2.2之类的数(绝大部分都是这种数),那么你就看这个数十接近1还是2了,如果是1.5,我们就认为他是苹果和橘子的杂交,呵呵,开玩笑的,遇到x=2.5,我一般都是舍弃的,表示未知。神经网络的图像识别系统是神经网络模式识别系统的一种,原理是一致的。...

aifamao2的博客 485

python论文格式检查系统_毕业论文格式检查软件

毕业论文格式检查软件【篇一:毕业论文格式检查使用说明书】“毕业论文格式检查v1.0”使用说明书“毕业论文格式检查v1.0”是专门用来对毕业设计(论文)中的word文档进行格式检查的应用程序,这些文档包括开题报告、文献综述、外文翻译和毕业论文。检查的结果会在检查结果栏中显示出来,对不符合要求的段落,会出现错误提示,并提示正确的格式。软件运行界面如图1所示。图1论文格式检查界面1、格式检查点击“开题报...

weixin_39790717的博客 1382

C#---第十一课:对列表的各种操作,添加、删除、排序、列表长度、获取元素的索引、FirstOrDefault()、SingleOrDefault()、last()

1.添加元素 2.删除元素 (1)删除列表中指定的元素 (2)删除列表A中所有与列表B相交的元素---常规 (3)删除列表A中所有与列表B相交的元素---lambda 3.排序(正序、倒序) 4.获取列表的最大容量(长度)、已用容量 6.获取元素在列表中的位置(index) 7.判断某元素是否在列表List中 8.获取列表中第一个元素First() & FirstOrDefault() 9.获取列表中唯一元素Single() & SingleOrDefault() 10.获取列表中最后一个元素

Alien-Hu 3627

python批量操作word文档实战_记录一次Python批量处理doc文件

起因团委要求写团员登记表,大家填完汇聚后的几天因为有些人不合格所以决定全班各自打印自己的表格,所以把全班的登记表都上传到群里,感觉很可怕,决定分析一下数据方案将doc转换txt逐行读取txt文件通过比对关键词,发现关键词就把当前行写入汇总的文件准备win32com网上找资料时发现如果你处理的doc文件是docx的话,你可以直接用python-docx但是我发现都是doc,所以没啥用看到v2ex有人...

weixin_39599342的博客 758

四足机器人——机械结构

目录 一、四足机器人腿型: 1、并联腿 2、串联腿 3、 腿的布局(关节配置) 二、四足机器人足端设计: 三、四足机器人膝关节驱动: 1、皮带轮驱动: 2、四连杆或者推杆驱动 四、四足机器人机械整体结构设计细节 一、四足机器人腿型: 1、并联腿 优点:受力角度来说,并联腿比串联腿好,并联腿较为灵活。 2、串联腿 优点:运动范围大 3、 腿的布局(关节配置) 为了使机器人具有较好的稳定性,一般会采用比较低的重心。这就导致了机器人腿的髋关节位置需要位于机器人身体的两侧..

m0_58585940的博客 3万+

语言模型推理能力与计算表达力深度解析

语言模型的推理能力本质上是一种知识迁移与泛化应用的过程,其核心在于Transformer架构中的自注意力机制和前馈网络的协同作用。计算表达力作为衡量模型能力的关键指标,涉及函数逼近、组合泛化和上下文理解等多个维度。随着模型规模的扩大,涌现能力现象揭示了参数规模与推理能力之间的非线性关系。在实际应用中,通过提示工程和微调策略可以有效激活和优化模型的推理表现。当前研究正探索模块化架构和世界模型整合等方向,以突破长程推理和因果关系建模等前沿挑战。本文深入探讨了语言模型推理泛化的技术原理与实践方法,为理解计算表达力

weixin_42521032的博客 343

如何用 Python 做自动化测试【进阶必看】

应用下载,安装,使用操作

kami_ochin_akane的博客 1580

永恒之蓝漏洞复现(ms17-010)

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。

渗透之路,攻防之间皆学问 2万+

pywin32调用word邮件合并功能批量生成文件

有多个xls数据源需要邮件合并,通过word一个一个来手动合并明显效率很低,Python有相应的docx-mailmerge库来实现合并,但在实际处理中,当doc模板的域处于文本框时,docx-mailmerge合并的速度能让人崩溃,几百条数据要处理半个小时甚至更长,无奈下想到了win32,一番搜索下,找到了相应api,示例如下: import os,time import xlrd import win32com.client from imessagefilter import CMessa...

tcsupreme的博客 940

paddle 43 用onnxruntime实现ppyoloe模型的部署(含python和c++版本)

PP-YOLOE+是PP-YOLOE模型的升级版,PP-YOLOE+_l在COCO test-dev2017达到了53.3的mAP, 同时其速度在Tesla V100上达到了78.1 FPS。PP-YOLOE+_s/m/x同样具有卓越的精度速度性价比。paddle官方只给出了基于paddle框架的部署案例,为了更好的部署,为此实现将paddle模型转换为onnx模型,然后在python下实现onnxruntime部署。后续会补充c++ onnxruntime部署

a486259的博客 1915

【四足机器人实战】四足机器人运动学、动力学模型

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!四足机器人的运动学和动力学模型是其设计和控制的基础,涉及到如何精确描述和预测机器人在不同条件下的运动状态和行为本文先对四足机器人运动学、动力学模型做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章运动学模型主要关注四足机器人的几何形态和时间序列下的运动特性,而动力学模型则进一步考虑了引起这些运动的力和扭矩的作用效果。运动学模型:运动学模型描述了四足机器人在没有考虑力的影响下的运动特性。

qq_35635374的博客 1055

python科研向论文检索篇——提取PDF文字以供全文信息检索

python科研向论文检索篇——提取PDF文字以供全文信息检索 作者:ruierx 项目背景 写论文期间,下载了很多论文,但是很多读过一次就忘记了,隐约有印象在某篇论文里见过一个现象,但就是想不起来在哪里看的,这个时候如果有一个本地可以根据关键词检索所有论文全文的工具就好了。刚好,嘿嘿,咱会python,那就干吧! 流程图 工具包安装 本文使用pdfplumber实现PDF文件的文本提取,注意此包无法识别扫描生成的图片PDF。 安装 ------ pip install pdfplumber 另外为了

ruierx的博客 4315

CAN轴控制流【6041,6040】

【代码】CAN轴控制流【6041,6040】

cfqq1989的博客 1783

40行代码的人脸识别实践_人脸识别实践研究(2)

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。我先来介绍一下这些东西怎么用,文末抱走。这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。最近我才对这些路线做了一下新的更新,知识体系更全面了。

2401_84537646的博客 687

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python适合自学编程吗-孩子学编程选Scratch还是Python

我们都知道编程的重要性,编程要从娃娃抓起,但孩子到底是该学Scratch还是Python呢?Scratch和Python的区别是什么?1、孩子应该学Scratch还是Python?(1)0-6岁的孩子应该学习ScratchScratch是MIT(麻省理工)设计开发的少儿编程工具。这个软件的开发团队称为"终身幼儿园团队”,他们表示不需要掌握任何知识,只需要单纯的拖拽就能完成自己的作品。值得...

q6q6q的专栏 2828

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

自学Python可以找到工作吗?

关于大数据的解释,比较官方的定义是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。简单来说,大数据就是结构化的传统数据再加上非结构化的新数据。那么传统数据和新数据又是什么呢?传统数据就是IT业务系统里面的数据,如客户资料、财务数据等。这些数据是结构化的,量也不是特别大,一般只是TB级。

weixin_51689029的博客 820

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

30岁一无所长,转行做什么?我为什么会选择python?_32岁程序员为什么选择python

不了解其他行业也很简单,智联、大街网等招聘门户上查下薪资即可。30岁转行,更加需要考虑未来行业对生活的帮助有哪些。像线人。可是我上哪里去发展线人?在打了1个月电话收效甚微,为了增加我账号在系统客源分配的权重,我又开始打虚假带看,是可是又被系统识别出2次,招致严厉的处罚。第一次关黑1个月,一个月限流线上客户分配,只能接别人不要的客户。后来好不容易熬到1个月,却再一次关黑7天。当。

2401_84263282的博客 102

30岁一无所长,转行做什么?我为什么会选择python?

以现在的年龄+10,你想过什么样的生活?+5、+3等都可以,只是为了明晰你的长期生活目标。接着把若干年后对生活的想法,参照下表折算成具体的金钱。上表数字仅为举例那什么样的工作,才能承载你的生活目标呢?不了解其他行业也很简单,智联、大街网等招聘门户上查下薪资即可。30岁转行,更加需要考虑未来行业对生活的帮助有哪些。像线人。可是我上哪里去发展线人?在打了1个月电话收效甚微,为了增加我账号在系统客源分配的权重,我又开始打虚假带看,是可是又被系统识别出2次,招致严厉的处罚。

喜欢Python编程的程序员柚柚呀 652

从0开始自学python——自我提升才是王道

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

weixin_67991858的博客 165

AutoResearchClaw 完全指南:从研究想法到可投稿论文的 23 阶段自主研究流水线

> **导读**:AutoResearchClaw 是一个把"一句话研究想法"自动转化为"可投稿会议论文"的开源自主研究框架,覆盖文献检索、假设生成、实验执行、论文写作与投稿导出的完整闭环。本文基于仓库官方韩文文档(docs/README_KO.md)为核心骨架,结合 [researchclaw/pipeline/stages.py](https://link.gitcode.com/i/58a5

gitblog_00200的博客 237

AutoResearchClaw 实战指南:从一句研究想法到会议级论文的 23 阶段自主科研流水线

> 本文以 [docs/README_PT.md](https://link.gitcode.com/i/dd69bb0d9682fac2ae1e608f761cc8dc)(项目葡萄牙语版 README)为主体骨架,结合仓库内的源码、配置与测试用例进行纵深解读。AutoResearchClaw 的核心口号是"Converse uma ideia. Receba um artigo"——你负责提出研

gitblog_00820的博客 184

Python爬虫项目100例,零基础自学必备

Python爬虫项目100例,零基础自学必备

xx132456的博客 2278

自学python有什么小技巧?

学编程语言有个小秘诀,直接上项目就是干,做完后你就是pythoner了。不要怕没有基础,边做边查边学,进步很快的。因人而异,一周或者一个月就能搞定。当然需要足够的投入。以前我也觉得收集资料、啃语法、敲代码是学python的套路,但这样学效率太低。你要知道python是一门脚本语言,不需要传统的编写-编译-链接-运行过程,语法简答、执行方便。也就是说python像是个瑞士军刀,可以写出很多有用的小工具,随写随用。我在python专栏里写了很多python应用案例,其实大多是对新手友好的。

2201_75362610的博客 98

自学 Python 只需要这3步

大家好,我是大鹏,城市数据团联合发起人,致力于Python数据分析、数据可视化的应用与教学。和很多同学接触过程中,我发现自学Python数据分析的一个难点是资料繁多,过于...

机器学习算法与Python学习 741

Duang!用Python来实现唱歌、跳舞、写字、画画?无所不能的python_python虚拟人唱歌

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。matplotlib较详细的剖析:http://www.cnblogs.com/vamei/archive/2013/01/30/2879700.html。

m0_61041374的博客 672
上一篇: 零门槛转行、百分百就业?一群年轻人正在追捧Python
下一篇: 超实用!这是我见过最全面的python入门教程,新手小白不要错过
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值