当前位置:首页 > 软件开放 > 正文内容

网页源代码提取数据库(如何获取网页源代码)

软件开放10个月前 (01-31)348

向AI转型的程序员都关注了这个号👇👇👇

最近有很多多模网络用于处理视觉信息丰富的文档理解(VRDU)。同时用视觉,布局信息和文本embedding。

但是大部分方法在序列中融合位置编码,忽略了通过OCR工具可能产生的不正确阅读顺序。

文章提出XYLayoutLM, 通过Augmented XY Cut的方法来或者正确的阅读顺序。

同时文章使用了Dilated Conditional Position Encoding模块去处理不同长度的序列。

介绍

LayoutLMv2的2个局限性:

1)需要依靠OCR产生的tokens和bbox,没有去探索阅读顺序带来的影响。阅读顺序对于翻译等问题是很关键的。通常的做法是用位置编码来表示输入顺序。作者发现,即使用了位置编码,还是有可能出现顺序不对的情况。

从上图来看,这个30对应的是27,28对应31,29对应33,这个顺序是不对的。

2)通常使用固定长度的相对或者绝对位置编码。带来的问题是:不能处理比固定长度长的序列。有使用双线性插值的办法用于位置编码,但是效果不是很好。最近,Conditional Position Encoding(CPE)用于变长的图像分类任务。通过改变输入token到2D的特征,用卷积动态提取局部输入信息。CPE的设计是用于视觉token,不能直接用于1D的文本token。

本文基于LayoutLMv2提出了XYLayoutLM。就是为了解决上面的2局限性。

解决顺序问题

展开全文

传统的通过从上到下,从左到右的顺序重排列还是不对。用2种简单的规则:

1)先对Y轴降序排序,再对X轴降序排序。

2)通过Y+X的降序排列。

都不对,从上面的看。最后用XY Cut获得了正确的排序。

解决输入序列变长问题

Dilated Conditional Position Encoding(DCPE)来生成位置编码。

方法 整体概览

整个模型架构如上图所示。

有图像,文字和文本位置信息作为输入。

视觉信号通过ResNeXt-101提取。通过展开后,和文本信息融合。

2个独立的位置编码,分别是位置编码和bbox编码。

和LayoutXLM的不同就是上面写的顺序和位置编码。

LayoutXLM的概览

LayoutXLM有3个输入:文本,图像和布局(位置信息)。

每个输入都通过一个固定长度的MLP层转换成embedding序列。

文本和图像,布局的编码都一起成为了输入编码。

输入编码通过transformer(伴有空间自注意力机制)。

最后,视觉和文本信息通过transformer输出用于文本理解任务。

简单来讲:text, visual, layout embedding - transformer - output(用来做各种task)

正确的阅读顺序

从直觉来讲,怎么让token box对其和如何垂直水平分割区域。

所以通过,token box的投影来分割,决定阅读顺序。先介绍投影方法然后介绍Augmented XY Cut算法。

通过投影获得直方图

一个框有4个点信息【xmin, ymin, xmax, ymax】。加入OCR提取了K个框。

通过去产生对应的水平和垂直的直方图。对K个直方图求和。

通过直方图的局部最小值来获得应该分开的点(这个很CV的思路)

网页源代码提取数据库(如何获取网页源代码)

Augmented XY Cut Algorithm

伪代码

创建一个xy的树,去记录阅读顺序。框最为输入,算法会输出对应阅读顺序的索引。

我们提出一个数据增强的策略,有个3个参数,x, y, theta.

x,y是决定我在这个框是不是要在x轴或者y轴上移动。

如果要移动,会移动theta * x/y个像素。

从一个(-1, 1)的正态分布上随机声从2个值,如果随机值大于x, y 就会移动。

作者设定的参数为0.5, 0.5, theta=5。(感觉就是为了防止直方图算出来的局部最小不准确)

Dilated Conditional Position Encoding

CPE会先将展平的序列X投影到2D的视觉空间X'。轴卷积层用到X'上产生位置编码E。

最后,位置编码E会展开,加入到token embedding中作为transformer的输入。

但是直接使用CPE会带来性能下降。原因是:

1)不正确的阅读顺序。(通过XY cut解决)

2)有1D的文本token, 不能很好的变到2D空间。

提出Dilated Conditional Position Encoding(DCPE)来解决第二个问题。

用1D的卷积来处理文本的embeding。

需要更大的感受野,比如句子”他是一个非常帅的男生“。他和男生是强相关的。

但是使用3的卷积核是不行的,所以采用了空洞卷积增加感受野。

实验

证明XYLayoutLM是很好的。

证明这个超参数0.5, 0.5, 5也是最好的。

消融实验,证明每一步的有效性。

可视化注意力

可以发现XYlayoutLM对比layoutLM更有大的attn权重

Augmented XY Cut的有效性,

代码

https://github.com/Sanster/xy-cut

模型性能对比

原文地址

机器学习算法AI大数据技术

搜索公众号添加: datanlp

阅读过本文的人还看了以下文章:

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

《深度学习:基于Keras的Python实践》PDF和代码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

搜索公众号添加: datayx

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://muyuzhen.com/post/84273.html

分享给朋友:

“网页源代码提取数据库(如何获取网页源代码)” 的相关文章

软件开发技术方案(软件开发技术方案包括哪些内容)

软件开发技术方案(软件开发技术方案包括哪些内容)

今天给各位分享软件开发技术方案的知识,其中也会对软件开发技术方案包括哪些内容进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、校园教育的软件开发解决方案有哪些 2、如何自己开发软件app 3、软件开发技术有哪些?? 4、软件开发方法? 5、软件...

做软件需要多少钱(做软件需要花多少钱)

做软件需要多少钱(做软件需要花多少钱)

今天给各位分享做软件需要多少钱的知识,其中也会对做软件需要花多少钱进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、做一个app要多少钱? 2、做一个APP要花多少钱? 3、做个app软件大约多少钱? 做一个app要多少钱? 大概在3~5万元左右,一...

ansible批量修改服务器密码(ansible sudo 需要密码)

ansible批量修改服务器密码(ansible sudo 需要密码)

今天给各位分享ansible批量修改服务器密码的知识,其中也会对ansible sudo 需要密码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、Ansible安装配置和基本使用 2、使用Ansible实现自动化运维的一些技巧 3、使用ansible...

linux源码编译安装(Linux源码安装)

linux源码编译安装(Linux源码安装)

今天给各位分享linux源码编译安装的知识,其中也会对Linux源码安装进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、linux下面yum安装和源码编译安装的区别 2、linux怎样编译git源码包 3、Linux内核源码如何编译 4、linu...

autojs源码(autojs源码提取器)

autojs源码(autojs源码提取器)

今天给各位分享autojs源码的知识,其中也会对autojs源码提取器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、手机autojs 怎样host跳过活着屏蔽广告源码 2、大量autojs常用代码介绍以及示例 3、Autojs微信自动操作免root...

cctv5手机在线直播观看高清回放(cctv5在线直播观看高清手机版)

cctv5手机在线直播观看高清回放(cctv5在线直播观看高清手机版)

本篇文章给大家谈谈cctv5手机在线直播观看高清回放,以及cctv5在线直播观看高清手机版对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、cctv5+手机在线直播观看。为什么会出现排 2、直播CCTV5可以在哪回看? 3、手机可以看cctv5吗 4、cctv5...