CN115345168A - 自然语言处理的级联池化 - Google Patents
自然语言处理的级联池化 Download PDFInfo
- Publication number
- CN115345168A CN115345168A CN202210373346.0A CN202210373346A CN115345168A CN 115345168 A CN115345168 A CN 115345168A CN 202210373346 A CN202210373346 A CN 202210373346A CN 115345168 A CN115345168 A CN 115345168A
- Authority
- CN
- China
- Prior art keywords
- document
- pooling
- pooled
- convolution
- elements
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
- G06V10/225—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Character Input (AREA)
Abstract
本文公开了自然语言处理系统和方法。在一些实施例中,接收包括文本的数字文档信息。数字文档信息可以通过词和字符编码操作来处理以生成词和字符向量,同时保留词和字符的文档位置信息。然后可以通过一系列卷积和最大池化操作对数据进行处理,以从数据获得最大值元素。可以使用语义分类器和边界框回归进一步处理文档位置信息以及最大值元素数据以用于数据的语义分类。
Description
技术领域
本教导的实施例涉及自然语言处理。更具体地,实施例涉及通过利用级联的(cascaded)卷积和最大池化层的自然语言处理。
背景技术
典型的自然语言处理(NLP)和计算机视觉(CV)系统和方法实现神经网络。这些神经网络典型地包括任意堆叠的层,例如卷积层、循环层和自注意力(变换器)层。各个层以各种方式耦合输入元素,从而产生各种属性。卷积操作跨输入元素滑动卷积算子,从而耦合文档上密切相关的元素。卷积过程为词和句子提供了强耦合,但假设字符是按顺序排列的,例如词和句子。卷积操作是平移不变的。循环操作将所有先前的元素与当前分析的元素耦合,因此再次假设对于输入元素的顺序排列。卷积层和循环层是平移不变的;因此,输入元素基于输入元素之间的关系进行耦合。卷积层和循环层可以处理具有不同长度的任意长的输入序列;然而,两个输入元素彼此之间的距离越远,建立强耦合就越困难。耦合两个远距离元素的困难来自梯度消失问题,并且因为元素可能仅通过长链计算(例如,多层)耦合。
自注意力层将每个输入元素与每个其他输入元素耦合,并强制执行位置(positional)或位置(location)嵌入。自注意力层不是平移不变的和非局部的,因为直接靠近给定的输入元素通常不提供有用的信息。自注意力层可以在任何两个输入元素之间建立强耦合,而不管位置如何。输入元素的确切排序或顺序不太相关。这在NLP操作(诸如机器翻译和信息提取)中经常遇到的非局部上下文信息的情况下提供了优势。自注意力层的一些缺点是它们不是平移不变的,因此限于固定的输入序列长度,并且计算是输入元素数量的二次方。
需要用于自然语言处理的一个或多个神经网络,其将给定上下文窗口内的任何两个元素强耦合,同时是平移不变的并提供线性计算。
发明内容
本文描述的实施例提供了引入神经网络的层和构建块的好处,这些层和构建块能够在给定上下文窗口内强耦合任何两个元素,同时保持平移不变性和线性计算。第一实施例针对一种使用级联的卷积池化层来针对自然语言语义含义处理文档的计算机化方法,该计算机化方法包括步骤:接收包括数字格式的文档信息的文档,其中,所述文档信息包括文本;处理文本以生成用于输入到一个或多个神经网络中的输入元素,同时保留指示元素在文档中的位置的文档位置信息;通过一个或多个神经网络处理文档信息,包括步骤:执行至少一个卷积最大池化操作,包括步骤:对输入元素执行至少一个卷积操作以将值与输入元素关联;生成多个并行池化分支,所述多个并行池化分支包括输入元素、池化窗口和每个池化分支的至少一个通道,对每个池化分支执行至少一个最大池化操作,以生成用于跨所有输入元素分析的池化窗口的多个最大值元素的输出;串级(concatenate)来自多个并行池化分支中的每个并行池化分支的多个最大值元素以产生卷积池化输出,和产生用于卷积池化输出的最大值元素的分类的概率分布;基于指示文本在文档中的位置的文档位置信息和卷积池化输出来生成针对文本的语义分类。
第二实施例针对一种自然语言处理系统,包括:处理器;数据存储;和一个或多个非暂时性计算机可读介质,存储计算机可执行指令,该计算机可执行指令在由处理器执行时执行使用级联的卷积池化层来针对自然语言语义含义处理文档的方法,所述方法包括步骤:接收用于由一个或多个神经网络处理的数字文档信息,其中,数字文档信息包括文本,从数字文档信息生成字符网格,其中,文本的每个字符与文档上的位置关联,使得保持文档的布局信息,和通过对字符网格的数字文档信息进行下采样来生成减小的字符网格,以减少用于由一个或多个神经网络处理的不必要的数据,通过一个或多个神经网络处理数字文档信息,包括步骤:通过词级编码过程对数字文档信息进行处理以生成词耦合的词向量,同时保留指示元素在文档中的位置的文档位置信息,串级词耦合的词向量以生成输入元素,执行至少一个卷积最大池化操作,包括步骤:对输入元素执行至少一个卷积操作以将值与输入元素关联;生成多个并行池化分支,所述多个并行池化分支包括输入元素、池化窗口和每个池化分支的至少一个通道,对每个池化分支执行至少一个最大池化操作,以生成用于跨所有输入元素分析的池化窗口的多个最大值元素的输出,串级来自多个并行池化分支中的每个并行池化分支的多个最大值元素以产生卷积池化输出,和产生用于卷积池化输出的多个最大值元素的分类的概率分布,基于文档位置信息和卷积池化输出来生成指示各种语义类的边界框,和基于文档位置信息和卷积池化输出来生成针对文本的语义分类。
提供该概述来以简化形式介绍概念的选择,这些概念下面将在详细描述中进一步描述。该概述并非旨在识别所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。从以下实施例的详细描述和附图中,本教导的其他方面和优点将是清晰的。
附图说明
下面参考附图详细描述本教导的实施例,其中:
图1A-图1B描绘了示例性一维和二维最大池化过程;
图2描绘了示例性级联池化过程;
图3描绘了示例性级联池化层;
图4A-图4B描绘了用于自然语言处理的示例性神经网络;
图5描绘了示例性级联卷积和池化层训练序列;
图6描绘了文档的自然语言处理的示例性方法;以及
图7描绘了用于实施例的示例性硬件平台。
附图并不将要求保护的范围限制于本文公开和描述的具体实施例。附图不一定按比例绘制,而是强调清楚地说明本教导的原理。
具体实施方式
以下详细描述参考了附图,附图说明了可以实践本教导的具体实施例。实施例旨在足够详细地描述本教导的各方面,以使本领域技术人员能够实践本文所述的发明。可以使用其他实施例,并且可以在不脱离要求保护的范围的情况下进行改变。因此,下面的详细描述不应在限制性的意义上进行。要求保护的发明的范围仅由所附权利要求连同这些权利要求所享有的等同物的全部范围来定义。
在本描述中,对“一个实施例”、“一实施例”或“实施例”的引用意味着所提及的一个或多个特征被包括在本技术的至少一个实施例中。在本描述中对“一个实施例”、“一实施例”或“实施例”的单独引用不一定指相同的实施例并且也不是相互排斥的,除非如此说明和/或除非对于本领域的技术人员来说从该描述中将是容易清晰的。例如,一个实施例中描述的特征、结构、动作等也可以被包括在其他实施例中,但不一定被包括。因此,本发明的实施例可以包括本文描述的实施例的各种组合和/或结合。
通常,实施例可以针对使用用于NLP的最大池化操作和神经网络的系统来处理文档的系统、计算机化方法或计算机程序。NLP过程可以接收关于文档的书面语言信息并执行光学字符识别(OCR)来创建数据以进行处理。可以对文档执行OCR以确定文档中的字符和词。
此外,然后可以再次处理数据以创建字符网格,该字符网格提供用于耦合与位置相关的数据的位置信息。字符网格可以应用于文档以确定文档类型并基于位置创建文档上的词和字符之间关连性(correlation)。当词和字符关连并且文档的非字符部分被移除时,于是可以通过连续卷积和最大池化操作来处理数据。连续卷积和最大池化过程可以从数据中提取语言的语义含义。使用连续卷积和最大池化过程来处理数据导致给定的上下文窗口内的强耦合元素,同时是平移不变的并提供线性计算。
图1A描绘了总体上通过数字100引用的示例最大池化过程。在一些实施例中,不是在典型过程中使用如上所述的自注意力(变换器)层,而是可以通过利用最大池化来实现非局部且还是平移不变的耦合。图1A呈现了第一序列102和第二序列108中的输入元素。窗口104提供用于分析的输入元素的子集。输入元素的子集包括最大元素106,其中输入元素的子集是窗口104中包含的输入元素。在这种场景中,在窗口104从左向右滑动时,可以选择输入元素的子集以用于分析。在图1A所示的示例性实施例中,窗口104包括固定大小的七个元素,并且使用一的步幅沿着输入元素的一维序列滑动,从而分析输入元素的子集。最大元素106表示窗口104内的最大值。最大元素106被映射到第二序列108。因此,对于每个输入元素子集分析,第二序列108包括窗口104中包含的最大元素。在确定最大元素106并将其映射到第二序列108之后,窗口104向右滑动一个元素并找到第二最大元素110,如图1A中的第一过程下方描绘的后续过程所示。因此,这里描述的最大池化操作不会像对于标准最大池化过程是典型地那样进行下采样。每个最大元素被映射到输出层,使得数据集没有减少,并且保持数据集的维度。
图1A中描绘的过程呈现了窗口104分析七个输入元素,导致局部分析,创建将每个连续的七个局部元素耦合的第二序列108;然而,窗口104可以是任何大小,使得可以共同处理任意数量的输入元素。此外,输入元素可以是并且实际上是向量。在一些实施例中,将每个向量与输入向量进行比较,以确定包括与所比较的向量输入的最高关系或最大值的单个向量。最高关系或最大元素106被耦合。可以如上所述处理每个向量集合。
图1B描绘了总体上通过数字116引用的二维最大池化过程112。在二维最大池化过程112中,输入元素的二维子集包括在一些实施例中可以是向量的输入元素的行和列。类似于以上关于图1A描述的一维过程执行分析。在所描绘的示例性过程中,窗口104将5个元素构成一行以及将5个元素构成一列,从而产生25个元素。在确定来自元素子集的最大元素114之后,窗口104可以滑过单行或单列并分析新的元素子集。可以针对如上所述的所有元素执行该过程,并且如上所述,不执行下采样。这样,数据集没有减少,并保持数据集维度。
现在转到描绘了示例性级联池化层200的图2,在一维情况下,维度为C的N个输入向量xi(i=0,…,N)的序列首先通过具有D个输出通道的单卷积(one-convolution)(单核卷积)202处理,之后是在非线性情况下通过批归一化和校正线性激活函数(ReLU)进行串级(concatenation)。然后将得到的维度为D的向量的序列复制K次,形成K个分支,或池化分支204。每个副本随后可以通过具有个输出通道(其中,n=0…K)的第二单卷积206处理,即对于每个副本,可以应用单卷积,从而导致输出通道的数量与输入通道的数量不同。在每个卷积之后,可以应用批归一化以确保统一标度(uniform scale)。
继续一维示例,接下来通过窗口大小为2Mn+1的最大池化操作208处理得到的维度为(其中,n是第n分支)的向量的序列中的每一个,其中对于K个池化分支204中的每个,池化窗口大小可以不同。可以使用步幅一执行最大池化操作208。也就是说,与典型地减小输入维度的正常池化操作相比,最大池化操作窗口可以在输入上移动步幅一,从而产生针对每个输入元素的结果,并由此保持分辨率。在每个序列的开头和结尾,可以添加Mn个附加向量,以确保输入和输出序列具有相同的长度。填充的向量可以被设置为任何值,但典型地被设置为零。来自每个池化分支的最大池化操作208的结果通过丢弃算子传递并最终在块212处与快捷方式210中供应的单卷积206操作的输出一起串级。结果表示单个“级联池化”层的输出。级联池化层可以在用于自然语言处理的命名实体识别(NER)的各种网络配置中实现,如下所述。
图3描绘了实现总体上通过数字300引用的利用NER的级联池化方法的示例性过程。在一些实施例中,神经网络的目标是对每个词进行分类并确定语义含义。在一些实施例中,输入元素是文本输入的字符串。例如,接收了文本的字符串,并且神经网络可以将每个词分类为“城市”、“人”、“车辆类型”或可能期望的任何其他分类。
在一些实施例中,来自词列表302的序列可以映射到预训练的词嵌入向量308的序列。例如,可以在每个句子的开头和结尾添加标记(token),并且可以将相似长度的句子一起分批处理入桶。出于处理目的,可以添加标记以使每个句子的长度相同。类似地,对于每个词中的字符可以遵循类似的过程,从而生成字符列表304。同时,可以针对每个词将词标记的序列转换为具有固定的预定义最大字符长度(例如,每个词最多10个字符)的字符序列。每个词的字符序列的集合可以被传递到第一卷积池化操作306以捕获子词嵌入。对于每个词的每个字符序列,在块310处生成词级特征向量并将其串级。
在一些实施例中,作为卷积-最大池组合的第一卷积池化操作306接收具有分隔的个体字符的词形式的输入数据。在一些实施例中,卷积层向像素提供值以用于字符识别和分类。执行卷积和最大池化操作以跨50个通道提取字符级特征。在一些实施例中,字符级特征可以包括词和句子内的字符位置。
可以对词列表302执行词嵌入308。可以执行词嵌入308以确定词多长时间出现一次以及在何处出现。在一些实施例中,词嵌入层还可以识别子词或根词并确定出现的数量和位置。词级编码可以包括针对所提供的文本的每个句子中的词位置提取词级向量。此外,词嵌入308可以基于词上下文使用对应的上下文和出现统计来耦合相似的词。在一些实施例中,可以使用捕获词的语义和上下文含义以及词关联的词的数字向量表示,诸如GloVe和Word2Vex。在块310处,来自词嵌入308和第一卷积池化操作306的输出被串级以组合词和字符嵌入。
在一些实施例中,在数据被串级之后,数据可以被第一卷积池化层312接收。级联的池化层中的每个可以包括单核卷积314、并行池化分支316和串级操作318。在一些实施例中,单核卷积314包括1024个通道。并行池化分支316的每个分支可以包括用户指定的参数。例如,可以为每个池化层定义池化大小(P)、通道大小(C)和丢弃操作(D)。尽管每个级联的池化分支被描绘为跨第一卷积池化层312和第二卷积池化层320具有相同参数,但在一些实施例中,参数可以不同。
如所描绘的,池化大小(P)可以是3。池化大小对应于来自上述图1A和图1B的元素子集的窗口104选择。因此,可以为了最大值而将紧接在所选元素之前和之后的元素一起分析。如所描绘的,对于从左到右的每个并行分支,池化大小增加。更大的池化大小为了最大值提供要处理的更大数量的元素,从而提供跨更大样本的元素耦合。在一些实施例中,可以使用任何数量的通道。如所描绘的,随着池化窗口增加,跨并行池化分支316的通道数量从左到右减少。
如所描绘的,并行池化分支316的最后一个参数是丢弃操作。所示的丢弃操作包括在每个并行池化分支上递减值。丢弃值可以在训练期间随机取消神经元以及是用户分配的。这迫使NLP系统不专注于单一的最佳匹配,而是寻找替代的训练路线。NLP系统可以在卷积过程的训练期间通过包括丢弃值并因此排除一些输入而变得更加稳健。在一些实施例中,用户为获得稳健的NLP系统而选择的丢弃率或丢弃保持率大致为百分之十。在推理期间可以将丢弃设置为零。
基于卷积和最大池化操作,每个分支可以具有不同数量的输出。并行池化分支316中的每个分支的输出可以通过串级操作318进行处理以保留一致的维度。此外,在最大池化操作中,将输入元素的子集与输入元素进行比较。如上所述,为每个池化窗口耦合具有最大分数的输入元素。该过程继续为每个元素耦合相似的元素。因此,示例性操作是线性的并且不要求复杂的二次方计算。在数据通过级联的卷积池化层进行处理之后,数据移动到具有softmax激活函数的下一个卷积层322,用于对神经网络输出进行归一化并预测针对来自输出数据的数据元素的分类的概率分布。
图4A和图4B描绘了示例性NLP网络400接收原始数据并处理原始数据以用于自然语言语义识别和表征的示意图。如上所述,可以从任何硬拷贝(例如,纸质拷贝)或数字文档接收原始数据。如果文档是硬拷贝,则可以执行OCR以提取数字信息并呈现为数字文档402。否则,可以接收初始数字文档。一旦生成了数字文档402,就可以通过分析数字文档402来生成字符网格404。OCR图像在被传递到编码器406处的卷积和池化层之前,可以通过字符网格操作来分析。可以生成字符网格404,而不是如在典型方法中那样以字符串序列化和布局来自OCR的信息。字符网格404是用于可视化的示例性表示,并且实际上可以是一系列文本组件或文本的网格,具有用于保留文档布局的标示(marker)。因此,文档的格式被保留。在一些实施例中,字符网格信息可以包括特殊含义以及字符和词含义。例如,费用清单可能包括带有表头的值表格。简单地识别文本并提供连续的字符串可能丢失文档的位置上下文,由此丢失表头和表头下方的后续文本之间的关系。生成字符网格404保留示例性费用清单中字符之间的位置关联。因此,可以保留单独的行和列之间的语义含义,以稍后在文档数据的处理中进行识别和表征。
在一些实施例中,可以通过将每个字符映射到索引值来生成字符网格404。由于字符由索引值表示,因此可以对数字文档402信息进行下采样而不会丢失字符信息。此外,保持位置关联或特殊关系。此外,可以通过字符网格操作来建立边界框。例如,费用清单可能有表头和在表头正下方提供的信息。可以生成边界框或标示,其包含并耦合边界框内的所有像素,使得保持表格中的字符和像素位置之间的关系。可以进一步评估边界框和标示以用于在边界框回归解码器中进行分类,以用于以下详细描述的语义分析和分类。
在一些实施例中,编码器和解码器通常可以被引用为神经网络。在一些实施例中,可以训练NLP网络400以对从字符网格接收的信息进行分类。在其他实施例中,可以训练NLP网络400以接收原始数据。无论哪种方式,NLP网络400都可以通过使用上述级联的卷积池化操作将值分配给像素并将附近的像素或关联的数据以及远处的像素或关联的数据进行关连来识别文档的文本。在一些实施例中,NLP网络400可以包括多个神经网络。如下所述,NLP网络400包括至少两个神经网络(即,语义处理神经网络和边界框回归神经网络)。
在一些实施例中,可以在编码器406处接收文档的字符网格或任何其他二维表示。二维文档表示是示例性的,并且任何文档可以被映射到可以由编码器406接收和处理的不同维度。一般地,NLP网络400学习表征来自字符网格的每个输入像素。使用上述示例性费用清单,每个输入像素可以被表征为日期、货币价值、描述、名称,并且可以与费用清单上的位置关联。
在一些实施例中,编码器406包括如上所述的一系列级联的卷积池化层。在一些实施例中,编码器406可以包括第一级联池化层408、第二级联池化层410、第三级联池化层412和第四级联池化层414。每个级联池化层可以包括至少一个卷积层和至少一个池化层,如上所述。可以使用任意数量的卷积层和最大池化层,因为级联的池化层不进行下采样。每个卷积层和最大池化层如上述实施例中所述那样进行操作。每个级联的池化层的输出被发送到解码器,到语义分割解码器416和边界框回归解码器418。因此,每个级联的层以保留的文档位置和语义含义提供字符、词和短语识别,该语义含义能够进一步被分类以用于语义语言识别。
在一些实施例中,解码器包括语义分割解码器416和边界框回归解码器418。第一神经网络可以包括编码器406并且利用语义分割对每个字符进行分类,并且在一些实施例中对词和短语进行分类。第二神经网络可以包括编码器406并利用边界框回归,并且可以被训练以识别来自字符网格的几行输入数据,使得可以将数据表格分类或关联在一起以保留和识别来自文档数据的语义含义。语义分割解码器416和边界框回归解码器418可以处理来自级联的卷积池化层的识别的字符和词,以对文档数据进行分类和进一步关联。
在一些实施例中,语义分割神经网络被训练以识别语义类(semantic class)。当词被耦合时,语义类可以是基于词或短语的。在一些实施例中,文档内的词和短语的语义分类(semantic classification)可以对文档进行分类。继续上述示例性费用清单实施例,可以识别词“invoice(费用清单)”。此外,费用清单的布局(例如,表格和价格)可以指示该文档是费用清单,并且该文档被这样分类。词和短语的语义含义可以例如被分类为诸如“支付”、“网站”、“地址”。此外,如“QTY”的缩写可以被识别并分类为“数量”。此外,SKU号33215可以与数量4关联,使得使该信息具有已知的关联并照此存储。语义分类可以通过以下描述的边界框回归解码器418关联元素的位置来辅助。
在一些实施例中,可以训练边界框回归神经网络以检测文档数据的多行,从而关连文档数据中不在直接局部的数据。通过关连可以按行分隔的数据,可以将边界框添加到关连的数据中,使得边界框内的数据被耦合或被赋予语义关联。回到上面描述的费用清单示例,通过边界框回归神经网络处理数据可以提供表格的表头(header)和可能在表头下方列出的关联的值之间的耦合。因此,表格中的值保留了含义。这些值和表格表头不是独立的数据,而是通过位置保留和边界框分类关联。在部分420处提供每个卷积池化层和解码器层的输出的矩阵和输出维度。这些维度特定于输入文本和处理维度,并且可以是取决于文档数据的处理的任何值。
因此,NLP网络400可以接收来自字符网格的输入,识别字符、词以及它们相对于文档布局的关系。此外,NLP网络400可以为布局关系提供边界框,并为文档、文档的词和短语提供语义分类。包括语义分割神经网络和边界框回归神经网络的NLP网络400不是限制性的,并且NLP网络400可以包括任何数量的层和附加的神经网络。
图5描绘了卷积池化层500的实施例,其中词502的输入序列被部分且随机地掩蔽以用于输入到词嵌入操作504中。图5中描绘的网络架构可以是基于去噪自编码器的双向语言模型。目标可以是预测已被掩蔽的词。每个输入标记在词嵌入操作504被映射到随机初始化的词嵌入向量。在一些实施例中,得到的词嵌入向量的序列被传递到第一级联池化层506,然后直至七个后续级联的池化层。
如图5所描绘的,第一级联池化层506包括卷积层508和并行池化分支510,其包括窗口大小P–3、5、9、17、33和65;通道大小C–跨所有并行池化分支恒定为256;和丢弃保持率D–也跨所有并行池化分支恒定为0.9。在块512并行池化分支被串级,并且输出被发送到卷积和激活块514。该过程导致比当前方法更快的平移不变过程,因为输入在输入元素的数量上是线性的,分支是可并行化的,并且输入元素没有严格的顺序。这里使用了八个级联的层;但是,网络中可以使用任意数量的级联的层。使用此过程训练网络提供了更稳健的网络。这里描述的网络可以添加在其中使用了级联的最大池化层的图4A所描绘的任何块处。
图6描绘了使用通过数字600总体上引用的级联最大池化层的自然语言处理的示例性方法。在步骤602,可以以数字形式或硬拷贝接收文档并使用OCR对其进行数字化。可以通过OCR扫描仪扫描文档以检测字符、字符的位置、边界框以及文档上提供的任何其他信息。在一些实施例中,可以将文档数据存储为数据串(data string)并且可以存储元数据以用于使文档的位置和格式相关(relate)。通过OCR过程存储的任何信息可以被后续的字符网格和NLP网络使用,如本文的实施例中所描述的。
在步骤604,接收来自步骤602的文档信息并且可以生成字符网格。在OCR之后,可以将字符网格应用于文档数据以关联字符和词位置,使得可以将词和字符关连。在一些实施例中,字符网格可以是指示字符、词、行和文档上提供的任何信息的数据串。字符网格可以按文档上的位置存储与字符相关的信息,使得文档布局在由NLP网络处理之前不会丢失。可以保留字符位置信息,其提供了可以由NLP网络分类的有价值的语义信息。
在步骤606,可以执行初始卷积和最大池化操作。在一些实施例中,卷积神经网络(CNN)可以被训练以对从字符网格接收的信息进行分类。在其他实施例中,CNN可以被训练以接收原始数据。无论哪种方式,CNN都可以通过使用上述级联最大池化操作为像素或关联的数据分配值以及将附近的像素或关联的数据以及远处的像素或关联的数据关连以识别文档的文本。可以执行初始卷积最大池化操作以识别接收的数据中的字符和词。此外,数据可以关连并分隔成分支以供进一步处理。
在步骤608,对每个分支执行卷积层,如上面详细描述的。可以训练卷积层以处理个体像素或关联的文档数据,并基于应用于文档的区域或从先前步骤接收的文档信息的卷积滤波器分析为每个像素或关联的文档数据分配值。该卷积过程可以通过任意数量的层进行任意次数。
在步骤610,将最大池化层应用于卷积层的输出以将像素的最大值与来自卷积层的关联的数据关连。在一些实施例中,最大池化层包括用于处理来自卷积层的用户定义数量的值的窗口104。来自窗口104的最大数量被映射到下一步的输出数据。应当注意,在最大池化过程期间没有对数据进行下采样。因此,输出的维度(dimensionality)与来自最大池化过程的输入保持相同,并且剩余的是被处理的每个窗口的最大值。可以在数据上针对几个窗口大小、通道大小执行最大池化过程,并且可以应用丢弃率来供稳健训练。可能有任意数量的级联卷积最大池化层。此外,在步骤612,为了一致的输出维度,每个分支被串级以组合。
在步骤614,执行语义分割以生成文档数据内的词和短语的语义含义。可以训练语义分割神经网络以识别语义类。当词耦合时,语义类可以是基于词或短语的。在一些实施例中,文档内的词和短语的语义分类可以对文档进行分类。继续上述示例性费用清单实施例,可以识别词“费用清单”。此外,费用清单的布局(例如,表格和价格)可以指示该文档是费用清单,并且该文档被这样分类。可以如以上实施例中所描述的那样执行词和短语的语义分类。
在步骤616,可以通过上述边界框神经网络生成包括边界框内的元素的相同语义含义的边界框。可以训练边界框回归神经网络来检测文档数据的多个行,从而关连文档中不在直接局部但具有相同或相似语义含义的数据。通过关连可以按行和列分隔的数据,可以将边界框添加到关连的数据中,使得边界框内的数据通过某种语义含义来耦合。返回上面描述的费用清单示例,通过边界框回归神经网络处理数据可以提供表格的表头和可能在表头下方列出的关联值之间的耦合。因此,为表格中的值提供了含义,并且从文档处理的数据不仅仅是独立的数据,而是保留了用于分类的语义含义。
首先转向图7,描绘了可以形成本发明的某些实施例的一个元件的示例性硬件平台。计算机702可以是台式计算机、膝上型计算机、服务器计算机、诸如智能电话或平板电脑的移动设备、或任何其他形式因素的通用或专用计算设备。为了说明的目的,对于计算机702描绘了几个组件。在一些实施例中,某些组件可以以不同方式布置或不存在。也可以存在附加的组件。计算机702中包括系统总线704,由此计算机702的其他组件可以彼此通信。在某些实施例中,可以有可以直接彼此通信的多个总线或组件。中央处理单元(CPU)706连接到系统总线704。一个或多个随机存取存储器(RAM)模块708也附接到系统总线704。图形卡710也附接到系统总线704。在一些实施例中,图形卡710可以不是物理上分隔的卡,而是可以集成到主板或CPU706中。在一些实施例中,图形卡710具有单独的图形处理单元(GPU)712,其可用于图形处理或用于通用计算(GPGPU)。GPU存储器714也在图形卡710上。显示器716(直接地或间接地)连接到图形卡710以用于用户交互。在一些实施例中,不存在显示器,而在其他实施例中,它被集成到计算机702中。类似地,诸如键盘718和鼠标720的外围设备连接到系统总线704。与显示器716一样,这些外围设备可以集成到计算机702中或不存在。本地存储装置722也连接到系统总线704,该本地存储装置可以是任何形式的计算机可读介质并且可以内部安装在计算机702中或外部且可移除地附接。
计算机可读介质包括可移除和不可移除介质,易失性和非易失性介质二者、并且设想了数据库可读的介质。例如,计算机可读介质包括(但不限于)RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能盘(DVD)、全息介质或其他光盘存储装置、磁带盒、磁带、磁盘存储装置和其他磁性存储设备。这些技术可以临时或永久地存储数据。但是,除非另有明确规定,否则术语“计算机可读介质”不应被解释为包括物理的但暂时的信号传输形式,诸如无线电广播、通过电线的电信号或通过光纤电缆的光脉冲。存储的信息的示例包括计算机可用指令、数据结构、程序模块和其他数据表示。
最后,网络接口卡(NIC)724也附接到系统总线704并允许计算机702通过网络(诸如网络726)进行通信。NIC 724可以是本领域已知的任何形式的网络接口,诸如以太网、ATM、光纤、蓝牙或Wi-Fi(即,IEEE 802.11族标准)。NIC 724将计算机702连接到本地网络726,该本地网络还可以包括一台或多台其他计算机(诸如计算机728)和网络存储装置(诸如数据存储730)。通常,诸如数据存储730的数据存储可以是按需从其存储和检索信息的任何库。数据存储的示例包括关系数据库或面向对象的数据库、电子制表、文件系统、平面文件、目录服务(诸如LDAP和Active Directory)或电子邮件存储系统。数据存储可以经由复杂的API(例如,像结构化查询语言),仅提供读取、写入和查找(seek)操作的简单API,或介于两者之间的任何复杂程度而可访问。一些数据存储可能另外提供对存储在其中的数据集的管理功能,诸如备份或版本控制。数据存储可以本地到单个计算机(例如计算机728),在本地网络(诸如本地网络726)上可访问,或通过互联网732远程可访问。本地网络726进而连接到互联网732,该互联网连接许多网络,诸如本地网络726、远程网络734或直接附接的计算机(诸如计算机736)。在一些实施例中,计算机702本身可以直接连接到互联网732。
尽管已经参考附图中所示的实施例描述了本发明的实施例,但是注意,在不背离如权利要求中所述的本发明的范围的情况下,可以采用等同物并且在本文中进行替换。
已经如此描述了本发明的各种实施例,要求保护的新的和期望受专利证书保护的内容包括所附内容。
Claims (20)
1.一种使用级联的卷积池化层来针对自然语言语义含义处理文档的计算机化方法,所述计算机化方法包括步骤:
接收包括数字格式的文档信息的文档;
其中,所述文档信息包括文本;
处理文本以生成用于输入到一个或多个神经网络中的输入元素,同时保留指示元素在文档中的位置的文档位置信息;
通过一个或多个神经网络处理文档信息,包括步骤:
执行至少一个卷积最大池化操作,包括步骤:
对输入元素执行至少一个卷积操作以将值与输入元素关联;
生成多个并行池化分支,所述多个并行池化分支包括输入元素、池化窗口和每个池化分支的至少一个通道;
对每个池化分支执行至少一个最大池化操作,以生成用于跨所有输入元素分析的池化窗口的多个最大值元素的输出;
串级来自多个并行池化分支中的每个并行池化分支的多个最大值元素以产生卷积池化输出;以及
产生用于卷积池化输出的最大值元素的分类的概率分布;
基于指示文本在文档中的位置的文档位置信息和卷积池化输出来生成针对文本的语义分类。
2.如权利要求1所述的计算机化方法,还执行步骤:
从文档信息生成字符网格,
其中,所述文本的每个字符与文档上的位置关联,使得保持文档的格式;以及
通过对字符网格的文档信息进行下采样来生成减小的字符网格,以减少用于处理的不必要的数据。
3.如权利要求1所述的计算机化方法,还包括步骤:对纸质文档执行光学字符识别以创建数字格式的文档。
4.如权利要求1所述的计算机化方法,其中,确定多个最大输入元素的步骤生成与输入元素的大小和维度相同的输出大小。
5.如权利要求1所述的计算机化方法,
其中,每个输入元素是向量,并且
其中,每个池化层在层输入处包括1024个通道的单核卷积,并且包括至少六个池化分支。
6.如权利要求1所述的计算机化方法,
其中,每个池化分支包括用户定义的窗口大小、通道大小和丢弃率,
其中,在训练期间应用所述丢弃率来改进稳健性。
7.如权利要求1所述的计算机化方法,
其中,每个池化分支在256个通道上进行操作,并且每个池化窗口包括3、5、9、17和33的元素大小,并且
其中,每个池化分支包括0.9的丢弃保持概率,以用于增加训练的稳健性。
8.如权利要求1所述的计算机化方法,还包括步骤:
通过词级编码过程对文档信息进行处理以生成词耦合的词向量,同时保留文档位置;以及
基于文档位置信息和卷积池化输出来生成指示各种语义类的边界框。
9.一种或多种非暂时性计算机可读介质,存储计算机可执行指令,该计算机可执行指令在由处理器执行时执行使用级联的卷积池化层来针对自然语言语义含义处理文档的方法,所述方法包括步骤:
接收包括数字格式的文档信息的文档;
其中,所述文档信息包括文本;
处理文本以生成用于输入到一个或多个神经网络中的输入元素,同时保留指示元素在文档中的位置的文档位置信息;
通过一个或多个神经网络处理文档信息,包括步骤:
执行至少一个卷积最大池化操作,包括步骤:
对输入元素执行至少一个卷积操作以将值与输入元素关联;
生成多个并行池化分支,所述多个并行池化分支包括输入元素、池化窗口和每个池化分支的至少一个通道;
对每个池化分支执行至少一个最大池化操作,以生成用于跨所有输入元素分析的池化窗口的多个最大值元素的输出;
串级来自多个并行池化分支中的每个并行池化分支的多个最大值元素以产生卷积池化输出;以及
产生用于卷积池化输出的最大值元素的分类的概率分布;以及
基于指示文本在文档中的位置的文档位置信息和卷积池化输出来生成针对文本的语义分类。
10.如权利要求9所述的介质,其中,所述计算机可执行指令还被执行以执行步骤:
从文档信息生成字符网格,
其中,所述文本的每个字符与文档上的位置关联,使得保持文档的格式;以及
通过对字符网格的文档信息进行下采样来生成减小的字符网格,以减少用于处理的不必要的数据。
11.如权利要求9所述的介质,其中,所述计算机可执行指令还被执行以执行步骤:对纸质文档执行光学字符识别以创建数字格式的文档。
12.如权利要求9所述的介质,其中,确定多个最大输入元素的步骤生成与输入元素的大小和维度相同的输出大小。
13.如权利要求9所述的介质,
其中,每个输入元素是向量,并且
其中,每个池化层在层输入处包括1024个通道的单核卷积,并且包括至少六个池化分支。
14.如权利要求9所述的介质,
其中,每个池化分支包括用户定义的窗口大小、通道大小和丢弃率,
其中,在训练期间应用所述丢弃率来改进稳健性。
15.如权利要求9所述的介质,
其中,每个池化分支在256个通道上进行操作,并且每个池化窗口包括3、5、9、17和33的元素大小,并且
其中,每个池化分支包括0.9的丢弃保持概率,以用于增加训练的稳健性。
16.如权利要求9所述的介质,还包括步骤:
通过词级编码过程对文档信息进行处理以生成词耦合的词向量,同时保留文档位置;以及
基于文档位置信息和卷积池化输出来生成指示各种语义类的边界框。
17.一种自然语言处理系统,包括:
处理器;
数据存储;以及
一个或多个非暂时性计算机可读介质,存储计算机可执行指令,该计算机可执行指令在由处理器执行时执行使用级联的卷积池化层来针对自然语言语义含义处理文档的方法,所述方法包括步骤:
接收用于由一个或多个神经网络处理的数字文档信息,
其中,所述数字文档信息包括文本;
从数字文档信息生成字符网格,
其中,文本的每个字符与文档上的位置关联,使得保持文档的布局信息;以及
通过对字符网格的数字文档信息进行下采样来生成减小的字符网格,以减少用于由一个或多个神经网络处理的不必要的数据;
通过一个或多个神经网络处理数字文档信息,包括步骤:
通过词级编码过程对数字文档信息进行处理以生成词耦合的词向量,同时保留指示元素在文档中的位置的文档位置信息;
串级词耦合的词向量以生成输入元素;
执行至少一个卷积最大池化操作,包括步骤:
对输入元素执行至少一个卷积操作以将值与输入元素关联;
生成多个并行池化分支,所述多个并行池化分支包括输入元素、池化窗口和每个池化分支的至少一个通道;
对每个池化分支执行至少一个最大池化操作,以生成用于跨所有输入元素分析的池化窗口的多个最大值元素的输出;
串级来自多个并行池化分支中的每个并行池化分支的多个最大值元素以产生卷积池化输出;以及
产生用于卷积池化输出的多个最大值元素的分类的概率分布;
基于文档位置信息和卷积池化输出来生成指示各种语义类的边界框;以及
基于文档位置信息和卷积池化输出来生成针对文本的语义分类。
18.如权利要求17所述的自然语言处理系统,其中,确定多个最大输入元素的步骤生成与输入元素的大小和维度相同的输出大小。
19.如权利要求17所述的自然语言处理系统,
其中,每个池化分支包括用户定义的窗口大小、通道大小和丢弃率,
其中,在训练期间应用所述丢弃率来改进稳健性。
20.如权利要求17所述的自然语言处理系统,
其中,每个池化分支在256个通道上进行操作,并且每个池化窗口包括3、5、9、17和33的元素大小,并且
其中,每个池化分支包括0.9的丢弃保持概率,用于增加训练的稳健性。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/319,427 | 2021-05-13 | ||
US17/319,427 US11763094B2 (en) | 2021-05-13 | 2021-05-13 | Cascade pooling for natural language processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115345168A true CN115345168A (zh) | 2022-11-15 |
Family
ID=80820024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210373346.0A Pending CN115345168A (zh) | 2021-05-13 | 2022-04-11 | 自然语言处理的级联池化 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11763094B2 (zh) |
EP (1) | EP4089568A1 (zh) |
CN (1) | CN115345168A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230136842A1 (en) * | 2021-11-03 | 2023-05-04 | International Business Machines Corporation | Training data sequence for rnn-t based global english model |
US20230351143A1 (en) * | 2022-04-29 | 2023-11-02 | Palo Alto Networks, Inc. | Optimized adaptive pooling layer hyperparameters for variably sized inputs |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3537345A1 (en) * | 2018-03-06 | 2019-09-11 | Hybris AG | Computer-implemented method, system and computer program product for providing a conversational application interface |
US10540579B2 (en) | 2018-05-18 | 2020-01-21 | Sap Se | Two-dimensional document processing |
US11328524B2 (en) | 2019-07-08 | 2022-05-10 | UiPath Inc. | Systems and methods for automatic data extraction from document images |
US11551053B2 (en) * | 2019-08-15 | 2023-01-10 | Sap Se | Densely connected convolutional neural network for service ticket classification |
US11481605B2 (en) | 2019-10-25 | 2022-10-25 | Servicenow Canada Inc. | 2D document extractor |
US20220237444A1 (en) * | 2021-01-26 | 2022-07-28 | Adobe Inc. | Windowed contextual pooling for object detection neural networks |
US20220318412A1 (en) * | 2021-04-06 | 2022-10-06 | Qualcomm Incorporated | Privacy-aware pruning in machine learning |
-
2021
- 2021-05-13 US US17/319,427 patent/US11763094B2/en active Active
-
2022
- 2022-03-18 EP EP22162862.1A patent/EP4089568A1/en active Pending
- 2022-04-11 CN CN202210373346.0A patent/CN115345168A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220366144A1 (en) | 2022-11-17 |
US11763094B2 (en) | 2023-09-19 |
EP4089568A1 (en) | 2022-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3124358C (en) | Method and system for identifying citations within regulatory content | |
US11651150B2 (en) | Deep learning based table detection and associated data extraction from scanned image documents | |
Ma et al. | Joint layout analysis, character detection and recognition for historical document digitization | |
US11288324B2 (en) | Chart question answering | |
Wilkinson et al. | Neural Ctrl-F: segmentation-free query-by-string word spotting in handwritten manuscript collections | |
CN111738169B (zh) | 一种基于端对端网络模型的手写公式识别方法 | |
CN115443490A (zh) | 影像审核方法及装置、设备、存储介质 | |
CN115345168A (zh) | 自然语言处理的级联池化 | |
CN115860271B (zh) | 艺术设计用方案管理系统及其方法 | |
CN110968725B (zh) | 图像内容描述信息生成方法、电子设备及存储介质 | |
CN107357895B (zh) | 一种基于词袋模型的文本表示的处理方法 | |
Jain et al. | Unconstrained OCR for Urdu using deep CNN-RNN hybrid networks | |
US20230138491A1 (en) | Continuous learning for document processing and analysis | |
CN113836992A (zh) | 识别标签的方法、训练标签识别模型的方法、装置及设备 | |
CN112784009B (zh) | 一种主题词挖掘方法、装置、电子设备及存储介质 | |
CN111428513A (zh) | 一种基于卷积神经网络的虚假评论分析方法 | |
CN112434533A (zh) | 实体消歧方法、装置、电子设备及计算机可读存储介质 | |
US11687712B2 (en) | Lexical analysis training of convolutional neural network by windows of different lengths with matrix of semantic vectors | |
CN114612921A (zh) | 表单识别方法、装置、电子设备和计算机可读介质 | |
CN113496123A (zh) | 谣言检测方法、装置、电子设备及存储介质 | |
CN113222022A (zh) | 一种网页分类识别方法及装置 | |
US20230134218A1 (en) | Continuous learning for document processing and analysis | |
CN112765976A (zh) | 文本相似度计算方法、装置、设备及存储介质 | |
Vinokurov | Tabular information recognition using convolutional neural networks | |
CN109902162B (zh) | 基于数字指纹的文本相似性的识别方法、存储介质及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |