【文档智能】再谈基于Transformer架构的文档智能理解方法论和相关数据集

前言

文档的智能解析与理解成为为知识管理的关键环节。特别是在处理扫描文档时,如何有效地理解和提取表单信息,成为了一个具有挑战性的问题。扫描文档的复杂性,包括其结构的多样性、非文本元素的融合以及手写与印刷内容的混合,都为自动化处理带来了难题。本文记录了基于Transformer架构的文档理解模型常见方法和相关数据集。

基于Transformer架构的文档理解模型

  1. Layout-Visual Fusion Models:这类模型专注于整合文档图像的布局和视觉信息与文本内容,以增强文档理解。这些模型结合了边界框坐标、图像嵌入和空间关系等特征,以捕获文档的结构布局。常见的有:

    • LayoutLM:这是第一个将文本级文档信息(使用WordPiece表示)与文本的二维位置表示结合进行联合训练的Transformer模型。LayoutLM在微调阶段还加入了图像嵌入,以考虑文档图像中令牌区域的空间布局。它在包括表单理解在内的多个下游任务上取得了新的最先进结果。

    • LayoutLMv2:这是LayoutLM模型的进化版本。关键思想是进一步整合文本、布局和视觉信息之间的关系。作者通过在预训练阶段引入图像信息以及引入新的预训练任务来实现这一点。LayoutLMv2在预训练时使用了空间感知的自注意力机制,这使得模型能够考虑令牌之间的一维和二维关系。

    更多的多模态的文档智能方法介绍可以参考之前文章《【文档智能】多模态预训练模型及相关数据集汇总》、《【文档智能】:GeoLayoutLM:一种用于视觉信息提取(VIE)的多模态预训练模型》

  2. Graph-Based Models:基于图的文本关系建模技术使用图神经网络(GNNs)来捕获文档中文本片段之间的复杂关系。这些模型使用编码器处理文本和视觉特征,然后通过图模块构建一个软邻接矩阵来表示片段之间的成对关系。

    • PICK:PICK模型使用文本和布局特征,结合图学习模块来捕获文档中文本片段之间的关系。PICK的架构由三个独立的模块组成:编码器模块、图模块和解码器模块。编码器模块处理原始文档,将文本和图像特征结合起来。图模块构建一个软邻接矩阵来表示文本片段之间的成对关系。解码器模块结合编码器和图模块的结果,执行序列标注任务。

      链接:PICK: Processing Key Information Extraction from Documents using Improved Graph Learning-Convolutional Networks

    • TRIE:TRIE模型将文本阅读和文本理解任务融合到一个端到端训练的网络中。该模型包含文本阅读模块、多模态上下文块和信息提取模块。文本阅读模块使用ResNet CNN和Feature Pyramid Network (FPN)提取输入图像的卷积特征。这些特征随后被用于确定可能的文本区域。多模态上下文块融合文本、位置和视觉特征。信息提取模块使用这些特征来分离实体并提取它们的值。

      链接:TRIE: End-to-End Text Reading and Information Extraction for Document Understanding

  3. Multi-Modal Fusion Models:这些大型模型通过引入新机制来更好地整合文本、布局和视觉信息。它们通常对Transformer架构进行修改,例如引入空间感知的自注意力机制,以捕获令牌之间的多维关系。

    • SelfDoc:SelfDoc模型在编码文本特征时采用了一种新颖的方式。它不是在词级别上工作,而是将文本按语义相关组件(如文档对象提案,包括文本块、标题、列表、表格、图形)进行分组,作为模型输入。SelfDoc使用Faster R-CNN在公共文档数据集上进行文档对象检测任务的训练。

      链接:SelfDoc: Self-Supervised Document Representation Learning

    • UniLMv2:UniLMv2允许统一语言模型的预训练,该模型由自编码和部分自回归模型组成。自编码模型类似于BERT,通过上下文预测令牌。部分自回归模型基于掩蔽和伪掩蔽令牌,可以预测一个或多个掩蔽(或伪掩蔽)令牌。

      链接:UniLMv2: Pseudo-Masked Language Models for Unified Language Model Pre-Training

    • DocFormer:DocFormer通过融合视觉和语言网络层来改进多模态训练。它使用ResNet CNN获取视觉特征,并使用OCR结果对文档图像进行文本嵌入。

      链接:Docformer:End-to-end transformer for document understanding

    • StrucText:StrucText模型使用视觉和文本文档特征的多模态组合。文本嵌入由语言令牌嵌入组成,其中每个文本句子都被连贯地处理以保持语义上下文。此外,还使用ResNet来提取图像特征,并结合序列ID嵌入来利用文本段的顺序。

      链接:StrucTexT: Structured Text Understanding with Multi-Modal Transformers

    • BROS:BROS模型在预训练时不包含文本图像,而是专注于结合文本和位置信息,忽略布局模态。BROS引入了一个自定义文本序列化器,根据相邻令牌的位置对令牌进行排序。

      链接:BROS: A Pre-trained Language Model Focusing on Text and Layout for Better Key Information Extraction from Documents

  4. Cross-Modal Interaction Models:跨模态交互模型促进不同模态(如文本和布局)之间的交互。它们采用注意力机制和融合策略,以实现跨模态信息交换,增强数据的感知和理解。

    • UDoc:UDoc是一个框架,采用了多层门控交叉注意力编码器,能够在单个模型内实现有效的跨模态交互。与传统方法不同,UDoc考虑了文档的复杂性和多样性,结合了文本和视觉特征。UDoc采用三种预训练任务:掩蔽句子建模(MSM)、视觉对比学习(VCL)和视觉-语言对齐(VLA)。

      链接:Unified Pretraining Framework for Document
      Understanding

    • TILT(Text-Image-Layout Transformer):TILT是为了解决文档中超出纯文本的自然语言理解的复杂挑战而设计的神经网络架构。TILT旨在同时捕获布局信息、视觉特征和文本语义,使其能够处理具有丰富空间布局的文档,如表格和表单。

      链接:Going full-tilt boogie on document understanding with text-image-layout transformer

  5. Sequence-to-Sequence Models:编码器-解码器和序列到序列模型涉及编码器处理输入数据和解码器生成序列输出。这些模型可以用于文本生成、翻译和序列预测等任务。

    • GenDoc:GenDoc模型采用了编码器-解码器架构,使其能够适应不同输出格式的多样化下游任务。GenDoc的预训练任务包括掩蔽文本预测、掩蔽图像令牌预测和掩蔽坐标预测,以适应多种模态。该模型整合了模态特定的指令、解耦注意力和混合模态专家(MoE)方法,以有效地捕获每个模态的信息。

      链接:Sequence-to-Sequence Pre-training with Unified Modality Masking for Visual Document Understanding

    • DocFormerv2:DocFormerv2包含一个专门处理文档的多模态编码器,该编码器能够处理文本内容和文档固有的空间特征。模型采用了创新的预训练任务,如token-to-line和token-to-grid预测,以捕获文档布局和结构。这使得模型能够理解文档元素的空间排列。为了有效地整合来自文档图像的空间信息,作者引入了空间特征,编码了位置、大小和类别等关键元素。

      链接:DocFormerv2: Local Features for Document Understanding

  6. Layout Representation and Language-Independent Models:布局表示模型专注于捕获和表示文档中组件的空间排列。语言独立模型旨在处理多种语言的文档理解。

    • MCLR:MCLR(Multi-Scale Cell-Based Layout Representation)提出了一种基于单元格的布局表示方法。这种方法使用行和列索引来定义文档中组件的位置,与人类阅读习惯相一致,有助于更直观地理解布局结构。MCLR架构包括三个主要组成部分:基于单元格的布局、多尺度布局和数据增强。

      链接:Multi-scale Cell-based Layout Representation for Document Understanding

    • LiLT(Language-independent Layout Transformer):LiLT是一个新颖的框架,它允许在单一语言的文档上进行预训练,然后针对多种语言进行微调。LiLT的核心架构基于并行双流Transformer模型,有效地处理文本和布局信息。在预训练期间,LiLT解耦文档的文本和布局方面,并采用双向注意力互补机制(BiACM)来促进这些模态之间的交互。然后,模型使用现成的预训练文本模型进行下游任务的微调,确保LiLT能够从单语言文档中学习和泛化布局知识到多语言环境中。

      链接:LiLT: A Simple yet Effective Language-Independent Layout Transformer for Structured Document Understanding

  7. Hybrid Transformer Architectures:混合Transformer架构利用创新设计来解决文档理解中的计算复杂性和多样化结构表示的挑战。这些模型通常结合了新的注意力机制,并利用Transformer架构来高效处理多模态信息。

    • StructuralLM:StructuralLM是LayoutLM模型的后继者。与LayoutLM不同,StructuralLM操作的是2D单元格位置嵌入,而不是2D词嵌入。其核心思想是通过分组来更好地捕获词之间的关系。

      链接:StructuralLM:Structural pre-training for form understanding

    • StrucTexTv2:StrucTexTv2结合了视觉和文本信息,有效地分析文档图像。该模型采用了独特的预训练策略,包括Mask Language Modeling (MLM)和Mask Image Modeling (MIM),利用文本区域级别的掩蔽来预测视觉和文本内容。

      链接:StrucTexTv2: Masked Visual-Textual Prediction for Document Image Pre-training

    • Fast-StrucTexT:Fast-StrucTexT是一个创新且高效的基于Transformer的框架,专为文档理解任务设计。该模型通过引入新颖的小时玻璃Transformer架构、模态引导的动态令牌合并和对称交叉注意力(Symmetry Cross-Attention, SCA)来实现高性能和效率。

      链接:Fast-StrucTexT: An Efficient Hourglass Transformer with Modality-guided Dynamic Token Merge for Document Understanding

文档理解数据集

数据集文档内容颜色语言文档数文档类型
FUNSDMachine Written / HandwrittenB/WEN199Form Documents
XFUNDMachine Written / HandwrittenB/WMulti-lingual199/languageForm Documents
NAFMachine written pre-printed text and mostly handwrittenB/WEN865Multiple
IIT-CDIPMachine Written, HandwrittenB/WEN6,919,192Multiple
RVL-CDIPMachine Written, HandwrittenB/WEN400,000Multiple
PubLayNetMachine WrittenColorEN364,232Medical Literature
SROIEMachine Written with occasional handwritingColor, B/WEN1,000Receipts
CORDMachine Written with occasional handwritingColorEN1,000Receipts
DocVQAMachine Written, HandwrittenColor, B/WEN12,767Multiple
Form-NLUMachine Written, HandwrittenColor, B/WEN10,857Multiple
VRDUMachine WrittenColor, B/WEN2,556Ad-buy
  • RVL-CDIP和IIT-CDIP:Ryerson Vision Lab复杂文档信息处理RVL-CDIP数据集是为了评估深度卷积神经网络(Deep CNNs)而创建的。该数据集是IIT复杂文档信息处理测试集合IIT-CDIP的一个子集,后者包含了来自加州大学旧金山分校的遗产烟草文档图书馆(LTDL)的文档集合。IIT-CDIP由6,919,192个文档记录组成,每个记录都包含OCR识别的文本和各种结构和质量的元数据信息。此外,IIT-CDIP还包含扫描文档的源图像。总的来说,RVL-CDIP数据集包含400,000张灰度图像,分为16个类别(包括表单文档),每个类别有25,000张图像。该数据集分为320k训练图像、40k验证图像和40k测试图像。

    链接:https://adamharley.com/

  • FUNSD:是一个用于表单理解任务的集合,包含了199个完全注释的表单,这些表单来自市场营销、科学等多个领域。所有表单都是经过光栅化处理的低分辨率单页表单,并且包含噪声。具体来说,从RVL-CDIP数据集的表单类别中手动挑选了3,200个符合条件的文档,并使用随机抽样的方法最终确定了199个文档。这些文档中的大多数文本内容是机器打印的,这可能不完全反映现实生活中手写内容更为常见的情况。

    链接1:https://guillaumejaume.github.io/FUNSD/

    FUNSD数据集中的每个表单都编码在一个JSON文件中,其中每个表单被视为一系列相互关联的语义实体(例如,一个名称字段与其对应的答案框相互关联)。每个语义实体包含一个标识符、一个标签、一个边界框、与其他实体的链接列表以及一个单词列表。总的来说,该数据集包含了9,707个语义实体和5,304个关系。另外的有人发现FUNSD数据集中存在一些错误和不一致之处,包括文本内容和边界框的错误以及关系注释的不一致性。他们发布了一个更新版本的数据集来修复发现的问题。

    链接2:https://drive.google.com/drive/folders/1HjJyoKqAh-pvtg3eQAmrbfzPccQZ48rz?fbclid=IwAR2ouj5Sh0vkcKAMNfSoZjSM7vSpGnbK-AowWZZ8_Lltcn34hr7_nVcazu0

  • XFUND:是FUNSD数据集的扩展,它将数据集翻译成了七种其他语言,包括中文、日语、西班牙语、法语、意大利语、德语和葡萄牙语。与FUNSD类似,XFUND数据集包含了文档中的语义实体及其相互关系的信息。该数据集是通过从互联网收集上述语言的表单模板手动创建的。每个表单都使用合成信息填写一次,以防止表单重复并避免共享敏感信息。表单可以是数字填写或手写,然后扫描,以再次类似于原始的FUNSD数据集。为了为每个语义实体生成边界框,使用了Microsoft Read API。关系提取则是由注释者手动完成的。总的来说,XFUND数据集包含了每种语言199个表单(总共1,393个),并且分为训练/测试集,其中训练集和测试集分别包含149和50个文档。

    链接:https://github.com/doc-analysis/XFUND

  • NAF:NAF数据集是从美国国家档案馆的历史表单图像中创建的注释数据集。这些表单具有不同的布局,并且由于它们的退化和用于打印的机械原因,图像带有噪声。数据集中的表单通常包含英文预印文本和英文输入文本,这些输入文本可能包括手写、打字和盖章内容。总的来说,该数据集包含了865张注释的灰度表单图像。这些图像的注释方式并未公开。NAF数据集被手动分为训练集、验证集和测试集,以确保每个集合包含具有不同表单布局的图像。通过这种方式,作者创造了一个场景,即训练集训练的分类器在测试集中不会遇到之前未见过的表单布局。

  • PubLayNet:是一个自动创建的数据集,通过匹配来自PubMed CentralTM的1,162,856篇科学PDF文章的XML表示和内容。该数据集主要是为了推进文档布局分析研究而创建的,因此它不是专门为表单检测制作的。注释是通过使用PDFMiner软件解析文章的PDF表示,然后将生成的布局与相应的XML表示匹配来创建的。虽然论文中没有提到,但在质量控制过程中似乎已经移除了大多数注释文档,因为只有364,232篇文档在这一步骤后仍然存在于数据集中。该数据集分为340,391页用于训练,11,858页用于开发,以及11,983页用于测试。开发和测试集都从多个不同的期刊中选择,并包含足够数量的表格、列表和图形。

    链接:https://github.com/ibm-aur-nlp/PubLayNet

  • SROIE:数据集是作为2019年ICDAR扫描收据OCR和信息提取竞赛的一部分创建的。该数据集包含1000张扫描收据图像,根据三个竞赛任务(文本定位、OCR和关键信息提取)之一,收据有不同的注释。收据的纸张、墨水或打印质量可能较差,分辨率低,包含扫描伪影。此外,收据可能包含复杂布局中的不需要的干扰文本、长文本和小字体大小。每张收据都包含英文字符文本字段,如商品名称和数字字段,如单价和总成本。论文没有提到收据的来源。

    链接:https://drive.google.com/drive/folders/1ShItNWXyiY1tFDM5W02bceHuJjyeeJl2

  • CORD:CORD数据集是为了OCR后解析而创建的第一个公共数据集,包含了11,000张来自印度尼西亚商店和餐厅的收据图像。这些图像是通过众包方式收集的。每张图像首先通过一个基于网络的注释工具进行注释,然后进行检查以确保其正确性和符合注释指南。由于担心意外发布敏感个人数据,最终的收据集中对敏感信息(如信用卡号码或个人全名)进行了模糊处理。在11,000张收据中,只有1,000张因这些担忧而对公众开放。根据论文的一位作者的说法,未来的数据发布情况尚不明确。

  • DocVQA:DocVQA是一个包含12,767张文档图像的数据集,用于视觉问答任务。这些文档图像来自UCSF工业文档图书馆。为了确保图像质量合适并且包含表格、表单、列表和图形等元素,这些文档是经过精心挑选的。文档被随机分为训练集、验证集和测试集,比例分别为80%、10%和10%。远程工作人员使用基于网络的三步注释工具为这些文档定义了50,000个问题和答案。在第一步中,工作人员为每个文档定义多达十个问题和答案对。在第二步中,另一位工作人员尝试回答这些定义的问题,而不会看到预定义的答案。如果在第一步的答案与第二步的答案之间没有匹配,那么这个问题将进入第三步,此时论文的作者可以手动编辑问题和答案对。除了问题和答案对,数据集还为每个问题定义了九种问题类型之一。一个问题类型的例子是表格/列表,它指定了回答问题是否需要理解表格或列表。一个问题可以被分配多个问题类型。

  • Form-NLU:Form-NLU是一个全面的数据库,旨在推进基于表单文档的自然语言理解(NLU)领域。该数据库总共包含857张文档图像、6,000个表单键和值,以及4,000个表格键和值。这些文档包括数字、打印和手写的各种表单类型。Form-NLU构成了一个公共可访问的财务表单数据库的一部分,该数据库起源于Form 604,由SIRCA收集。它提供了从2003年到2015年向澳大利亚证券交易所(ASX)提交的重要股东通知的文本记录。作者将注释分为三个专门的子任务:12种类型的键的键注释、成对值的值注释,以及标题、章节和其他组件的非键值注释。每个注释者负责处理一个子任务。

    SIRCA:https://asic.gov.au/regulatory-resources/forms/forms-folder/604-notice-of-changeof-%20interests-of-substantial-holder/

    ASX:https://www.asx.com.au/

  • VRDU:VRDU是一个用于视觉丰富文档理解的基准数据集,它由两个不同的数据集组成:广告购买表单(Ad-buy Forms)和注册表单(Registration Forms)。这些数据集旨在解决从视觉复杂文档中提取结构化数据的挑战。基准数据集包含五个关键要素:丰富的模式、布局丰富的文档、多样化的模板、高质量的OCR结果和标记级别的注释。该基准数据集专注于三个任务:

    1. 单模板学习(STL):模型在属于单一模板的文档上进行训练和评估。这意味着训练集、验证集和测试集都包含具有相同结构布局或模板的文档。此任务的目标是评估模型在面对一致且熟悉的文档布局时提取结构化数据的能力。

    2. 混合模板学习(MTL):模型在来自一组模板的文档上进行训练和评估。训练集、验证集和测试集包括来自不同但预定义模板的文档。此任务评估模型将其学习泛化到多样化文档布局的能力。

    3. 未见模板学习(UTL):未见模板学习任务挑战模型超越其训练经验。在此任务中,模型在来自模板子集的文档上进行训练,然后在训练期间从未遇到过的模板的文档上进行评估。目标是评估模型适应新的、以前未见过的文档布局和模板的能力。

总结

文档理解本质上是一个序列标注任务,类似于命名实体识别(NER),通常被称为关键信息提取(KIE)。本文总结了常见的文档智能理解相关模型方法及数据集,在文档理解领域,涉及到分析不同格式和模态(如文本、图像、表格和图表)的文档内容和结构。语言模型和Transformer架构在各种自然语言处理任务中展示了显著的能力,并且在计算机视觉和音频处理任务中也表现出色,这些模型在文档理解中的变革潜力已被广泛认可。

关于我

余俊晖,NLP炼丹师,目前专注自然语言处理领域研究。曾获得国内外自然语言处理算法竞赛TOP奖项近二十项。现就职于某公司 算法研究员。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/272206.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ai语音克隆:用AI大模型开发点亮你的创作天地!

在当今快速发展的科技时代,人工智能技术已经深入到我们生活的方方面面。AI语音克隆作为其中的一种应用,正在逐渐走进人们的视野,为人们的创作提供了全新的可能性。 人类创作的过程往往是一个灵感迸发、思绪飞扬的过程。但有时候,…

实现QT中qDebug()的日志重定向

背景: 在项目开发过程中,为了方便分析和排查问题,我们需要将原本输出到控制台的调试信息写入日志文件,进行持久化存储,还可以实现日志分级等。 日志输出格式: 我们需要的格式包括以下内容: 1.…

eclipse搭建java web项目

准备条件 eclipsejdk1.8 (配置jdk环境)apache-tomcat-8.5.97(记住安装位置) 一 点击完成 开始创建javaweb项目 import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.s…

Neo4j安装 Linux:CentOS、openEuler 适配langchain应用RAG+知识图谱开发 适配昇腾910B

目录 Neo4j下载上传至服务器后进行解压运行安装JAVA再次运行在windows端打开网页导入数据 Neo4j下载 进入Neo4j官网下载页面 向下滑动找到 Graph Database Self-Managed 选择 社区版(COMMUNITY) 选择 Linux / Mac Executable Neo4j 5.17.0 (tar) 单机下…

Android Studio编译及调试知识

文章目录 Android Studio编译kotlin项目Android Studio编译Java和kotlin混合项目的过程gradle打印详细错误信息,类似这种工具的使用Android apk 从你的代码到APK打包的过程,APK安装到你的Android手机上的过程,最后安装好的形态,以…

【Kotlin】类和对象

1 前言 Kotlin 是面向对象编程语言,与 Java 语言类似,都有类、对象、属性、构造函数、成员函数,都有封装、继承、多态三大特性,不同点如下。 Java 有静态(static)代码块,Kotlin 没有&#xff1…

Python算法题集_搜索二维矩阵

Python算法题集_搜索二维矩阵 题74:搜索二维矩阵1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【矩阵展开为列表二分法】2) 改进版一【行*列区间二分法】3) 改进版二【第三方模块】 4. 最优算法5. 相关资源 本文为Python算法题集之…

二分/树上第k短路,LeetCode2386. 找出数组的第 K 大和

一、题目 1、题目描述 给你一个整数数组 nums 和一个 正 整数 k 。你可以选择数组的任一 子序列 并且对其全部元素求和。 数组的 第 k 大和 定义为:可以获得的第 k 个 最大 子序列和(子序列和允许出现重复) 返回数组的 第 k 大和 。 子序列是…

OpenAI (ChatGPT)中国免费试用地址

GitHub - click33/chatgpt---mirror-station-summary: 汇总所有 chatgpt 镜像站,免费、付费、多模态、国内外大模型汇总等等 持续更新中…… 个人能力有限,搜集到的不多,求大家多多贡献啊!众人拾柴火焰高!汇总所有 cha…

如何转行成为产品经理?

转行NPDP也是很合适的一条发展路径,之后从事新产品开发相关工作~ 一、什么是NPDP? NPDP 是产品经理国际资格认证,美国产品开发与管理协会(PDMA)发起的,是目前国际公认的唯一的新产品开发专业认证&#xff…

arm架构服务器使用Virtual Machine Manager安装的kylin v10虚拟机

本文中使用Virtual Machine Manager安装kylin v10的虚拟机 新建虚拟机 新建虚拟机 选择镜像,下一步 设置内存和CPU,下一步 选择或创建自定义存储(默认存储位置的磁盘空间可能不够用) 点击管理,打开选择存储卷页…

15. C++泛型与符号重载

【泛型编程】 若多组类型不同的数据需要使用相同的代码处理,在C语言中需要编写多组代码分别处理,这样做显然太过繁琐,C增加了虚拟类型,使用虚拟类型可以实现一组代码处理多种类型的数据。 虚拟类型是暂时不确定的数据类型&#…

朗伯特球腔均匀光源积分球

均匀光源积分球,又称照度积分球或光度球、光通球,是光电测试中常用的一种工具。它是一个中空的球体,内壁涂有一层平整的漫反射材料,通常由金属或陶瓷制成。积分球的主要功能是收集光并将其作为散射光源或测量光源使用。 积分球的工…

LeetCode54:螺旋矩阵

题目描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 解题思想 模拟 循环一圈 后 跳出循环的条件:左边界>右边界 或者 上边界 > 下边界 代码 class Solution { public:vect…

突然发现一个很炸裂的平台!

平时小孟会开发很多的项目,很多项目不仅开发的功能比较齐全,而且效果比较炸裂。 今天给大家介绍一个我常用的平台,因含低代码平台,开发相当的快。 1,什么是低代码 低代码包括两种,一种低代码,…

Publii和GitHub:搭建个人网站的完美组合

在数字时代,拥有一个个人网站已经非常普遍了,但是,很多人因为技术难题而望而却步。现在,有了Publii,这一切都将变得简单。Publii是一个静态网站生成器,它允许你在本地计算机上创建和管理内容,然…

实战|环信 Vue2 uniapp Demo重构焕新!经典再升级!

项目背景 当前环信 uni-app vue2 Demo 地址升级版本 Github 地址(临时) 原版本功能实现方式较混乱,代码逻辑晦涩难懂,不利于开发者参考或复用。此实战项目在确保原项目功能保留的情况下进行完全重写并新增大量功能,以…

JavaWeb - 3 - JavaScript(JS)

JavaScript(JS)官方参考文档:JavaScript 教程 JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言,是用来控制网页行为的,它能使网页可交互(脚本语言就不需要编译,直接通过浏览器…

简介:基于 OpenTiny 组件库的 rendereless 无渲染组件架构

在 HAE 自研阶段,我们实现的数据双向绑定、面向对象的 JS 库、配置式开发的注册表等特性,随着前端技术的高速发展现在已经失去存在的意义,但是在 AUI 阶段探索的新思路新架构,经过大量的业务落地验证,再次推动前端领域…

【网络层】IP多播技术的相关基本概念(湖科大慕课自学笔记)

IP多播 1:IP多播技术的相关基本概念 我们简单举例,如下图所示: 一共有60个主机要接受来自视频服务器的同一个节目,如果采用单播方式,则视频服务器要发送60份,这些视频节目通过路由器的转发,最…