当前位置: 首页 > news >正文

【机器学习案例3】从科学论文图片中提取标题、作者和摘要【含源码】

在这个项目中,我的目标是从科学论文图片中提取某些部分(标题、作者和摘要)。预期提取部分是科学论文中常见的部分,例如标题、摘要和作者。输入与最终结果。我的输入是将第一页纸转换成图像。最终结果是一个 txt 文件,其中包含标题、作者和摘要部分,如下图1和图2所示。我将使用 UNet 来了解在哪里可以找到这些部分,然后将训练学到的信息传递到 OCR 中。完整的项目可以在这里找到。

图1 要提取的论文首页(图片格式) 

图2  提取得到的论文标题、作者和摘要

步骤说明

我从数据收集和科学论文开始。由于我只对标题、摘要和作者这三个部分感兴趣,所以我选择了多篇论文中的第一页。然后我将其转换pdf为图像,因为我的 UNet 模型只接受图像。我已将数据集分别按 80/20 分为训练集和测试集。接下来,我编写了一个 python 脚本mask.py来屏蔽图像。参见下图。 

图3:右侧是科学论文的原始首页,左侧是相应论文的mask.py结果。 

蒙版图像是一维图像,其中每个像素的值为 0(黑色)和 1(白色)。 0表示该像素不重要,1表示该像素重要。左侧图像的白色区域掩盖了重要的标题、摘要和作者部分。

我们将此掩模和原始图像传递给我们的 UNet 模型进行训练。 UNet 是一种流行的架构。您可以找到该架构的许多实现。我推荐Milesial的架构。如果您已经克隆了dagshub存储库,则无需克隆此存储库。您可以通过将工作目录更改为Unet-OCR/Pytorch-UNet然后运行来构建模型,train.py如下所示:

python train.py --epoch 6 --batch-size 1 --learning-rate 0.000001

显然您可以设置自己的参数。当然您也可以使用预训练模型MODEL.pth,您将在运行时获得:

dvc pull -r origin

确保按照下面的安装说明将 DVC 源设置为我的

相关文章:

  • linux---内存管理
  • linux驱动工作原理
  • 单翻译单元的基本结构
  • 【Python---六大数据结构】
  • C++入门学习(三十)一维数组的三种定义方式
  • langchain==win11搭建使用GPU
  • JVM-垃圾回收(标记算法,收集器)
  • 机试复习-4
  • Electron实战之进程间通信
  • SSM框架,Spring-ioc的学习(下)
  • 力扣热题100_双指针_15_三数之和
  • React18原理: React核心对象之ReactElement对象和Fiber对象
  • Paper - CombFold: predicting structures of large protein assemblies 论文简读
  • 函数 栈帧
  • Python 修改window桌面背景图片
  • 分享的文章《人生如棋》
  • 78. Subsets
  • Babel配置的不完全指南
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • HashMap剖析之内部结构
  • java8-模拟hadoop
  • MySQL QA
  • 排序算法学习笔记
  • 微服务框架lagom
  • 我感觉这是史上最牛的防sql注入方法类
  • 一个SAP顾问在美国的这些年
  • 智能合约开发环境搭建及Hello World合约
  • 阿里云服务器如何修改远程端口?
  • ​queue --- 一个同步的队列类​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $jQuery 重写Alert样式方法
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (52)只出现一次的数字III
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (转载)CentOS查看系统信息|CentOS查看命令
  • ***检测工具之RKHunter AIDE
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .a文件和.so文件
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET NPOI导出Excel详解
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net 按比例显示图片的缩略图
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • @Bean有哪些属性
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • @开发者,一文搞懂什么是 C# 计时器!
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [04]Web前端进阶—JS伪数组
  • [100天算法】-不同路径 III(day 73)