CN113887169A - 文本处理方法、电子设备、计算机存储介质及程序产品 - Google Patents
文本处理方法、电子设备、计算机存储介质及程序产品 Download PDFInfo
- Publication number
- CN113887169A CN113887169A CN202111146756.3A CN202111146756A CN113887169A CN 113887169 A CN113887169 A CN 113887169A CN 202111146756 A CN202111146756 A CN 202111146756A CN 113887169 A CN113887169 A CN 113887169A
- Authority
- CN
- China
- Prior art keywords
- text
- pooling
- vector
- character
- processed
- 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/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/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种文本处理方法、电子设备、计算机存储介质及计算机程序产品,其中,文本处理方法包括:对待处理文本进行向量化处理,获得所述待处理文本对应的字符向量和位置向量;基于所述字符向量和所述位置向量分别进行以邻接字符为单位的局部池化处理、以整个待处理文本为单位的全局池化处理和以分段为单位的分段池化处理,获得所述待处理文本对应的文本特征;基于所述文本特征获得对应的编码向量;对所述编码向量进行目标输出处理,获得所述待处理文本的文本处理结果。通过本申请实施例,大大降低了对文本建模上下文关系的计算复杂度。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种文本处理方法、电子设备、计算机存储介质及计算机程序产品。
背景技术
文本是一类字符和符号的序列数据,在很多工作和生活场景中,需要对文本进行诸如语义分析、关键词分析及提取等文本建模操作,以为文本的进一步应用提供基础分析支持。
随着深度学习技术的发展,越来越多的神经网络模型被应用到文本建模中,以提高文本建模的效率和准确度,Transformer模型便是其中应用广泛且表现出色的一类模型。示例性地,一种Transformer模型的结构如图1所示,其分为编码器Encoder部分和解码器Decoder部分,分别对应于图1中的左半部分和右半部分。
一般地,Encoder使用Nx(例如,可以为6个)个相同的Block(块),其中的PositionEmbedding(位置向量)用于表征单词或字符的位置信息,以此描述单词或字符的上下文关系.Attention(注意力)机制使用attention函数,基于输入的文本向量Input Embedding和Position Embedding,进行文本特征提取。Attention函数可以看作将一个query和一系列key-value对映射为一个输出output的过程,其通过对输入做三种不同的线性变换得到K、Q、V三向量,再通过scaled dot-production处理得到注意力加权后的特征,再通过mask进行无用信息的过滤。而Multi-Head Attention(多头自注意力)机制则将上述过程执行H次,再将输出拼接起来,输出携带有上下文信息的文本向量。对于其中的Add&Norm部分,Add表示残差连接,以防止模型过深带来的梯度消失或梯度爆炸;Norm则表示归一化。Feedforward(前馈网络)部分通过两次线性变换之后经过relu激活函数,之后会再次进行一次Add&Norm部分的操作,输出最终的编码向量。
Decoder与Embedding类似,也有Nx层,但在最开始部分多了一个Masked Multi-Head Attention(Mask的多头注意力),以确保pos位置的预测结果只能取决于pos之前的预测结果。在模型训练阶段,Encoder和Decoder一起完成模型训练;在模型推理阶段,使用Encoder对数据进行编码处理。
通过Transformer模型,可实现对文本特征的有效提取。但是,Transformer模型在建模上下文关系时采用的Multi-Head Attention机制,其计算复杂度与文本长度呈平方关系(O(n2)),这使得在建模文本,尤其是如千字以上的长文本时存在计算量和内存消耗过高的问题。
发明内容
有鉴于此,本申请实施例提供一种文本处理方案,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种文本处理方法,包括:对待处理文本进行向量化处理,获得待处理文本对应的字符向量和位置向量;基于字符向量和位置向量分别进行以邻接字符为单位的局部池化处理、以整个待处理文本为单位的全局池化处理和以分段为单位的分段池化处理,获得待处理文本对应的文本特征;基于文本特征获得对应的编码向量;对编码向量进行目标输出处理,获得待处理文本的文本处理结果。
根据本申请实施例的第二方面,提供了一种另一种文本处理方法,包括:通过智能设备接收输入的语音问题,并将语音问题转换为对应的问题文本;对问题文本进行向量化处理,获得问题文本对应的字符向量和位置向量;基于字符向量和位置向量分别进行以邻接字符为单位的局部池化处理、以整个问题文本为单位的全局池化处理和以问题文本中的分段为单位的分段池化处理,获得问题文本对应的文本特征;基于文本特征获得对应的编码向量;对编码向量进行问题分类输出处理,获得问题文本对应的问题分类;根据问题分类获得问题文本对应的答案文本,将答案文本转换为语音答案并通过智能设备输出。
根据本申请实施例的第三方面,提供了一种文本处理装置,包括:第一获取模块,用于对待处理文本进行向量化处理,获得待处理文本对应的字符向量和位置向量;第二获取模块,用于基于字符向量和位置向量分别进行以邻接字符为单位的局部池化处理、以整个待处理文本为单位的全局池化处理和以分段为单位的分段池化处理,获得待处理文本对应的文本特征;第三获取模块,用于基于文本特征获得对应的编码向量;第四获取模块,用于对编码向量进行目标输出处理,获得待处理文本的文本处理结果。
根据本申请实施例的第四方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面或第二方面所述的文本处理方法对应的操作。
根据本申请实施例的第五方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面所述的文本处理方法。
根据本申请实施例的第六方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如第一方面或第二方面所述的文本处理方法对应的操作。
根据本申请实施例提供的文本处理方案,与传统需要使用Transformer模型的Multi-Head Attention机制建模上下文关系不同,本申请实施例的方案中,使用多种池化处理方式来达到同样目的。其中,局部池化处理用于基于各个字符向量及其相邻字符的字符向量进行池化处理,可以获得融合了各个字符与其相邻字符间的语义的特征向量;全局池化处理用于基于各个字符的字符向量,及各个字符与整个待处理文本对应的所有其它字符的字符向量进行池化处理,可以获得融合了各个字符与整个待处理文本的语义的特征向量;分段池化处理用于基于各个字符所在的段落,以段落为单位进行池化处理,可以获得融合了整个段落的语义的特征向量。可见,基于这些特征向量获得的待处理文本对应的文本特征从多个维度反映了某个字符与其它字符间的关系,从而实现了不依赖Attention机制的上下文关系建模。因池化处理的计算复杂度与待处理文本的文本长度呈线性关系,因此,通过池化处理,在有效获得文本特征的基础上,还可使得计算复杂度达到线性复杂度。相较于传统Transformer模型建模上下文关系的计算复杂度O(n2),大大降低了计算量并节约了内存消耗。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为一种传统的Transformer模型的结构示意图;
图2A为根据本申请实施例的一种包含编码器的模型结构示意图;
图2B为图2A所示编码器中局部池化层的池化处理示意图;
图2C为图2A所示编码器中全局池化层的池化处理示意图;
图2D为图2A所示编码器中分段池化层的池化处理示意图;
图3A为根据本申请实施例一的一种文本处理方法的步骤流程图;
图3B为图3A所示实施例的一种场景示例的示意图;
图4为根据本申请实施例二的一种文本处理方法的步骤流程图;
图5为根据本申请实施例三的一种文本处理装置的结构框图;
图6为根据本申请实施例四的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
为便于理解本申请实施例的方案,以下结合图2A-2D,首先对本申请实施例提供的一种包含编码器的模型结构进行说明。
与Transformer模型类似,本申请实施例模型的编码器中也包含Nx个相同的编码块Block,但每个Block的结构与Transformer模型Encoder部分的Block的结构不同,使用了三个不同的POOLING层代替了传统的Multi-Head Attention。
其中,每个Block为一个可将输入的向量从一种数据形式转换为另一种数据形式的功能单元,具体到本申请实施例,其可将输入的字符向量和位置向量编码为具有语义特征的编码向量。池化POOLING是一种对信息进行降维和抽象的过程,进入池化层之前的信息通常数据量较大,其中会包含大量的冗余信息,通过池化一方面降低信息的维度,减少数据量;另一方面可有效提取出文本特征。本申请实施例中,使用多个池化层替代Transformer模型的Attention机制。Attention正如它的翻译“注意力”,类似于人的注意力机制,深度学习中的Attention机制,和人的选择性视觉注意力机制是类似的。举例来说,在机器翻译中,如果不使用注意力机制,“It’s a table”,这句话翻译成汉语时,每个英文单词对翻译过来的“桌子”这个词的影响因子,也可以简单地理解为对它的权重是一样的。然而,事实上应该是“table”这个单词对“桌子”的影响最大。当引入了Attention机制,为每个单词加入了一个权重机制,体现英文单词对于翻译当前中文单词的不同的影响程度,从而获得更有效的语义特征。然而,Attention的计算复杂度与文本长度呈平方关系(O(n2)),计算量和内存消耗都较高。而通过多个从不同维度(局部、全局、分段)对信息进行池化的池化层,结合后续的残差、前馈等处理,可完全满足针对文本的有效特征提取的需求。
基于此,如图2A中所示,每个Block包括:三个并列的POOLING层,分别为局部池化层(Local pooling)、全局池化层(Global pooling)和分段池化层(Segment pooling);在这三个并列的POOLING层之后,连接有第一残差及归一化层(Add&Norm);在第一残差及归一化层之后为前馈网络层(Feed Forward);以及,在前馈网络层之后的又一残差及归一化层,即第二残差及归一化层(Add&Norm)。其中,残差是实际观测值和估计值的差,可通过残差函数获得,可以防止模型过深带来的梯度消失或梯度爆炸。
其中,局部池化层用于基于各个字符向量及其相邻字符的字符向量进行池化处理,可以获得融合了各个字符与其相邻字符间的语义的特征向量。一种局部池化层对字符向量进行池化处理的示意如图2B所示,从图2B中可见,针对当前字符向量,如图中上边一行三个灰色色块的中间色块所示的字符向量,结合其左侧灰色色块对应的字符向量和右侧灰色色块对应的字符向量进行池化处理,获得的结果如图2B中下边一行的灰色色块所示。例如,对于文本“辛苦了,大家”,在对“苦”对应的字符向量进行局部池化处理时,不仅考虑“苦”字本身,还考虑其前和其后的字符“辛”和“了”,从而使得池化获得的“苦”的特征向量可融合相邻字符“辛”和“了”的信息。
全局池化处理用于基于各个字符的字符向量,及各个字符与整个待处理文本对应的所有其它字符的字符向量进行池化处理,可以获得融合了各个字符与整个待处理文本的语义的特征向量。一种全局池化层对字符向量进行池化处理的示意如图2C所示,从图2C中可见,针对当前字符向量,如图中上边一行最左侧的灰色色块的字符向量,结合整个文本中的所有其它字符的字符向量,如图中上边一边第2-5个灰色色块对应的字符向量进行池化处理,获得的结果如图2C中下边一行的灰色色块所示。例如,对于文本“辛苦了,大家”,在对“辛”对应的字符向量进行局部池化处理时,不仅考虑“辛”字本身,还考虑其它字符“苦了大家”,从而使得池化获得的“辛”的特征向量可融合“苦了大家”的信息。
分段池化处理用于基于各个字符所在的段落,以段落为单位进行池化处理,可以获得融合了整个段落的语义的特征向量。一种分段池化层对字符向量进行池化处理的示意如图2D所示,从图2D中可见,其文本被划分为两个段落,左侧三列对应一个段落,右侧两列对应另一个段落,则针对每个段落,对当前字符向量的池化处理会考虑该当前字符向量所对应的字符所属的段落中的其它字符的字符向量。例如,针对第一个段落的当前字符向量(最左侧灰色块对应的字符向量)和第二个段落的当前字符向量(从右侧数第二个灰色块对应的字符向量),对它们进行段落池化处理,将获得图2D中下边一行的两个灰色色块所示的特征向量。例如,对于文本“辛苦了,大家”,其被划分为两个段落,即第一个段落“辛苦了”和第二个段落“大家”。在对“辛”对应的字符向量进行分段池化处理时,不仅考虑“辛”字本身,还考虑其所在的第一个段落中的其它字符“苦了”,从而使得池化获得的“辛”的特征向量可融合“苦了”的信息。与此同时,在对“大”对应的字符向量进行分段池化处理时,不仅考虑“大”字本身,还考虑其所在的第二个段落中的其它字符“家”,从而使得池化获得的“大”的特征向量可融合“家”的信息。
在三个池化层后,为Add&Norm层,其作用与传统的Transformer模型中编码器的Add&Norm的作用类似,其中Add用于残差连接(residual connection),Norm用于归一化(layer normalization)。
前馈网络层由一个非线性层和线性层组成,以对Add&Norm层输出的向量进行进一步处理,通过函数逼近方式再次进行特征提取,以获得满足需要的特征向量。
前馈网络层之后的又一Add&Norm对前馈网络输出的特征向量进行残差连接和归一化处理。
当每一个Block均完成上述过程后,将输出编码向量。
如图2A中所示,当输入的信息,包括文本对应的字符向量Input Embedding、位置向量Position Embedding、及段落标记信息(分段池化层使用),经编码器的Nx个Block依次处理完毕后,输入编码器连接的模型的其它部分,具体是模型的全连接层,经全连接层处理后输入输出映射层(Output Projection),从而进行整个模型的输出,例如文本分类结果、或者文本序列标注结果等等。
以下,结合上述编码器及编码器所在的模型,通过多个实施例对本申请的文本处理方案进行说明。
实施例一
参照图3A,示出了根据本申请实施例一的一种文本处理方法的步骤流程图。
本实施例的文本处理方法包括以下步骤:
步骤S102:对待处理文本进行向量化处理,获得所述待处理文本对应的字符向量和位置向量。
本申请实施例中,待处理文本可以为包含字符(字母、文字、数字等)、符号等中的至少一种的文本。
对待处理文本进行向量化处理包括对文本中的每一个字符进行向量化处理,生成对应的向量,即字符向量。此外,因本申请实施例的编码器中不具有顺序结构,需要加入字符的位置信息来显式地表明字符上下文关系,因此,还需生成对应的位置向量。
在一种可行方式中,可通过下述方式生成位置向量:
其中,PE是一个二维矩阵,pos表示字符在文本中的位置,dmodel表示字符向量的维度,i表示字符向量在文本中的位置。奇数位置使用cos,偶数位置使用sin,从而根据不同的pos以及i便可以得到不同的位置的向量信息。
而对字符的向量化处理可由本领域技术人员采用任意适当方式或算法实现,如word2vec等,本申请实施例对此不作限制。
步骤S104:基于字符向量和位置向量分别进行局以邻接字符为单位的局部池化处理、以整个待处理文本为单位的全局池化处理和以分段为单位的分段池化处理,获得待处理文本对应的文本特征。
如前所述,局部池化处理用于基于各个字符向量及其相邻字符的字符向量进行池化处理,可以获得融合了各个字符与其相邻字符间的语义的特征向量;全局池化处理用于基于各个字符的字符向量,及各个字符与整个待处理文本对应的所有其它字符的字符向量进行池化处理,可以获得融合了各个字符与整个待处理文本的语义的特征向量;分段池化处理用于基于各个字符所在的段落,以段落为单位进行池化处理,可以获得融合了整个段落的语义的特征向量。
当使用前述编码器进行处理时,可以将字符向量和位置向量分别输入局部池化层、全局池化层和分段池化层,以进行对应的局部池化处理、全局池化处理和分段处理,并获取分别对应的局部池化处理结果、全局池化处理结果和分段池化处理结果。然后,可以对这三部分池化处理结果进行合并,以获得待处理文本对应的文本特征,该文本特征除可表征待处理文本的文本特征外,还包含有从多维度获得的字符间的上下文关系。
步骤S106:基于文本特征获得对应的编码向量。
基于上述携带有上下文关系的文本特征,可进一步进行诸如残差连接、归一化、前馈网络处理等操作,以获得编码器输入的编码向量。例如,在对前述编码器中局部池化层、全局池化层和分段池化层分别输入的池化结果进行合并后,可送入Add&Norm层,在Add&Norm层处理后再送入Feed Forward层,经Feed Forward层处理后,再经过一次Add&Norm层处理,最后输出编码向量。
步骤S108:对编码向量进行目标输出处理,获得待处理文本的文本处理结果。
其中,目标输出处理根据实际的输出需求实现,例如,对于文本分类、文本序列标注等,根据输出需求的不同设定不同的输出目标,以对编码向量进行针对该输出目标的目标输出处理,最终获得待处理文本的文本处理结果。例如,在前述图2A所示中,编码器输出的编码向量经全连接层和输出映射层(根据不同输出目标进行不同目标输出处理设置)的处理后,可输出文本处理结果。
以下,以一个具体场景对上述过程进行示例性说明,如图3B所示。
本场景示例设定为在人机对话场景中自动生成对话回复,假设用户A向智能音箱发出语音“今天天气情况怎么样?是否适合出行?”,智能音箱接收到该语音后将其转换为文本。进而,生成该文本对应的字符向量、位置向量以及段落标记信息,例如,针对“今天天气情况怎么样”中的每个字符均标记为0,表示其属于第一个段落,针对“是否适合出行”中的每个字符均标记为1,表示其属于第二个段落。但不限于此,在实际应用中,其它段落标记的方式也同样适用。并且,段落识别及分割也可由本领域技术人员根据实际需求采用适当方式实现,如神经网络模型识别并分割,通过算法找到文本中符号,匹配判别后确定段落等均可,本申请实施例对段落识别和标记的具体方式均不作限制。
在获得了“今天天气情况怎么样?是否适合出行?”文本对应的字符向量、位置向量及段落标记信息后,将其输入编码器中,以对字符向量分别通过局部池化层进行局部池化处理、通过全局池化层进行全局池化处理、通过分段池化层进行分段池化处理;获得对应的局部池化处理后的特征向量、全局池化处理后的特征向量和分段池化处理后的特征向量;将这三部分特征向量进行合并后,形成文本特征。该文本特征进而被依次输入编码器的Add&Norm层,在Add&Norm层处理后再送入Feed Forward层,经Feed Forward层处理后,再经过一次Add&Norm层处理,最后输出编码向量。该编码向量携带有丰富的语义信息和上下文信息。进而,该编码向量被输入编码器后的全连接层进行进一步的特征提取和分类,再经输出映射层输出,例如,本示例中输出为文本分类“天气”。则后续可基于该“天气”分类和从文本中获得的属性信息如“今天”、“出行”,从存储有天气信息及天气信息对应的出行策略的服务器中获得“今天”的天气信息,并基于该天气信息查找到对应的出行策略。然后,将获得的天气信息和出行策略返回给智能音箱,如智能音箱中的数据接收单元,由智能音箱转换为语音播放,以回复用户A的问题。
需要说明的是,上述示例以智能音箱为例,但在实际应用中,其它可接收语音输入的智能设备同样可参照上述示例实现本申请实施例的文本处理方法。当该智能设备还具备语音输出装置如扬声器等时,还可如上所述在将上述获得的文本转换为语音后输出。例如,智能设备接收输入的语音问题,并将该语音问题转换为对应的问题文本;对问题文本进行向量化处理,获得问题文本对应的字符向量和位置向量;基于字符向量和位置向量分别进行以邻接字符为单位的局部池化处理、以整个问题文本为单位的全局池化处理和以问题文本中的分段为单位的分段池化处理,获得问题文本对应的文本特征;基于文本特征获得对应的编码向量;对编码向量进行问题分类输出处理,获得问题文本对应的问题分类;根据问题分类获得问题文本对应的答案文本,将答案文本转换为语音答案并通过智能设备输出。
需要说明的是,本示例中仅以人机对话场景为示例,但本领域技术人员应当明了,所有需要对文本进行编码以获得相应信息的应用和场景均可适用本申请实施例的方案,包括但不限于:例如,会议纪要生成场景:包括会议记录的智能分段、标题生成、文本摘要、阅读理解等等;对话场景:包括多轮对话理解、对话管理、对话生成、对话回复选择等等。
通过本实施例,与传统需要使用Transformer模型的Multi-Head Attention机制建模上下文关系不同,本实施例的方案中,使用多种池化处理方式来达到同样目的。其中,局部池化处理用于基于各个字符向量及其相邻字符的字符向量进行池化处理,可以获得融合了各个字符与其相邻字符间的语义的特征向量;全局池化处理用于基于各个字符的字符向量,及各个字符与整个待处理文本对应的所有其它字符的字符向量进行池化处理,可以获得融合了各个字符与整个待处理文本的语义的特征向量;分段池化处理用于基于各个字符所在的段落,以段落为单位进行池化处理,可以获得融合了整个段落的语义的特征向量。可见,基于这些特征向量获得的待处理文本对应的文本特征从多个维度反映了某个字符与其它字符间的关系,从而实现了不依赖Attention机制的上下文关系建模。因池化处理的计算复杂度与待处理文本的文本长度呈线性关系,因此,通过池化处理,在有效获得文本特征的基础上,还可使得计算复杂度达到线性复杂度。相较于传统Transformer模型建模上下文关系的计算复杂度O(n2),大大降低了计算量并节约了内存消耗。
本实施例的文本处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、PAD等)和PC机等。
实施例二
参照图4,示出了根据本申请实施例二的一种文本处理方法的步骤流程图。
本实施例的文本处理方法包括以下步骤:
步骤S202:获取待处理文本。
本申请实施例中,对待处理文本的来源不作限制,可以原本就是文本,也可以是通过识别语音获得的文本,或者是对文本图像进行识别获得的文本,或者是对非文本图像中的文本图像区域进行文本识别获得的文本,等等,均可适用于本申请实施例的文本处理方案。
步骤S204:对待处理文本进行向量化处理,获得待处理文本对应的字符向量和位置向量。
对待处理文本进行向量化处理包括对待处理文本经过分词后转成字符向量,本申请实施例中,对待处理文本的分词意指将待处理文本划分为单个的字符如单个的文字等,转成的字符向量即word embedding。
待处理文本中的字符的位置向量(position embedding)可参考实施例一步骤S102中所描述的方式获得,在此不再赘述。
此外,本申请实施例中,可选地,在对待处理文本进行向量化处理之前,还可以对待处理文本进行分段处理,获得至少一个文本段,并为各个文本段中的字符生成段落标记信息。例如,“我爱你,中国”这一文本,其对应的段落标记信息可以为【00011】,其中,“000”对应“我爱你”表示这三个字符在同一个段落,“11”对应“中国”表示这两个字符在同一个段落。但不限于此,其它段落标记形式也同样适用。例如,只对段落开始的结束的字符进行标记,如在“我”上标记【ST0】,在“你”上标记【SE0】,在“中”上标记【ST1】,在“国”上标记【SE1】,等,均适用于本申请实施例的方案。
其中,字符向量和位置向量相加后输入编码器,而段落标记信息将单独输入编码器中的分段池化层。
步骤S206:基于字符向量和位置向量分别进行以邻接字符为单位的局部池化处理、以整个待处理文本为单位的全局池化处理和以分段为单位的分段池化处理,获得待处理文本对应的文本特征。
其中:
基于字符向量和位置向量进行以邻接字符为单位的局部池化处理包括:针对每个字符向量,根据位置向量确定与该字符向量最相邻的相邻字符向量,基于该字符向量及相邻字符向量进行池化处理。一种示例如图2B所示,确定当前字符及当前字符相邻的字符,将这些字符对应的字符向量一起进行池化处理,获得当前字符对应的特征向量,即局部池化处理的结果。
基于字符向量和位置向量进行以整个待处理文本为单位的全局池化处理包括:基于位置向量,对待处理文本对应的所有字符向量进行池化处理。一种示例如图2C所示,确定当前字符及当前字符所在文本中的其它字符,将这些字符对应的字符向量一起进行池化处理,获得当前字符对应的特征向量,即全局池化处理的结果。
基于字符向量和位置向量进行以分段为单位的分段池化处理包括:获取各个字符对应的段落标记信息;根据字符向量、段落标记信息和位置向量,进行以段落标记信息所标记的文本段为单位的池化处理。一种示例如图2D所示,确定当前字符及当前字符所在的段落中的其它字符,将这些字符对应的字符向量一起进行池化处理,获得当前字符对应的特征向量,即分段池化处理的结果。
若本步骤使用前述编码器进行向量的池化处理,则本步骤可以实现为:将字符向量和位置向量输入编码器,通过编码器中的局部池化层、全局池化层和分段池化层分别进行对应的局部池化处理、全局池化处理和分段池化处理。在预先获得了字符的段落标记信息的情况下,段落标记信息也会一起输入编码器,以为分段池化层对字符进行分段池化处理提供字符的分段信息。但不限于此,在实际应用中,文本分段及段落标记信息的生成部分也可设置在编码器内部,通过在编码器内部设置相应的段落识别、分割和标记功能的功能模块实现,此种情况下,则无需预先生成段落标记信息并输入编码器。而通过预先生成和输入的方式,一方面,大大简化了编码器的实现复杂度;另一方面,也提高了编码器乃至整个模型的处理效率。
在获得了三种池化处理的结果后,可进行合并以获得与待处理文本对应的文本特征。也即,对局部池化处理后获得的特征、全局池化处理后获得的特征和分段池化处理后获得的特征进行合并,根据合并结果获得待处理文本对应的文本特征。其中,具体的特征合并方式可由本领域技术人员根据实际需求选择,包括但不限于combine方式、concat方式等。通过对多种池化处理后获得的特征向量的合并而获得文本特征,即可有效表征待处理文本的文本特性,又携带有丰富的上下文信息。
此外,还需要说明的是,本申请实施例中的局部池化处理、全局池化处理和分段池化处理可以均为最大池化处理。或者,本申请实施例中的局部池化处理、全局池化处理和分段池化处理可以均为平均池化处理。采用最大池化处理方式时,对领域内的特征点取最大值,可突出有用或有代表性的特征。采用平均池化处理方式时,对领域内的特征点取平均值,可更多地保留特征点信息。
步骤S208:基于文本特征获得对应的编码向量。
例如,可以对文本特征进行残差处理、归一化、前馈处理等操作,以获得最终的编码向量。当使用前述编码器实现本步骤时,可以将文本特征依次输入编码器的第一残差及归一化层、前馈网络层和第二残差及归一化层进行处理,获得文本特征对应的编码向量。由此获得的编码向量,不仅携带有丰富的上下文信息,还可更有效地表征文本特征。
步骤S210:对编码向量进行目标输出处理,获得待处理文本的文本处理结果。
本步骤中,针对不同的输出需求,可以对编码向量进行不同的目标输出处理,以获得满足需求的文本处理结果,如,文本分类结果、文本序列标注结果,等等。例如,对编码向量进行全连接处理,对全连接处理后的向量进行输出映射,获得待处理文本的文本处理结果。
在采用如图2A所示的模型时,本步骤可以实现为:将编码向量输入全连接层(FC)进行全连接处理;再将全连接层输出的结果输入输出映射层(Output Projection),以实现最后满足需求的输出。
可见,通过本实施例,与传统需要使用Transformer模型的Multi-Head Attention机制建模上下文关系不同,本实施例的方案中,使用多种池化处理方式来达到同样目的。其中,局部池化处理用于基于各个字符向量及其相邻字符的字符向量进行池化处理,可以获得融合了各个字符与其相邻字符间的语义的特征向量;全局池化处理用于基于各个字符的字符向量,及各个字符与整个待处理文本对应的所有其它字符的字符向量进行池化处理,可以获得融合了各个字符与整个待处理文本的语义的特征向量;分段池化处理用于基于各个字符所在的段落,以段落为单位进行池化处理,可以获得融合了整个段落的语义的特征向量。可见,基于这些特征向量获得的待处理文本对应的文本特征从多个维度反映了某个字符与其它字符间的关系,从而实现了不依赖Attention机制的上下文关系建模。因池化处理的计算复杂度与待处理文本的文本长度呈线性关系,因此,通过池化处理,在有效获得文本特征的基础上,还可使得计算复杂度达到线性复杂度。相较于传统Transformer模型建模上下文关系的计算复杂度O(n2),大大降低了计算量并节约了内存消耗。
本实施例的文本处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、PAD等)和PC机等。
实施例三
参照图5,示出了根据本申请实施例三的一种文本处理装置的结构框图。
本实施例的文本处理装置包括:第一获取模块302,用于对待处理文本进行向量化处理,获得待处理文本对应的字符向量和位置向量;第二获取模块304,用于基于字符向量和位置向量分别进行以邻接字符为单位的局部池化处理、以整个待处理文本为单位的全局池化处理和以分段为单位的分段池化处理,获得待处理文本对应的文本特征;第三获取模块306,用于基于文本特征获得对应的编码向量;第四获取模块308,用于对编码向量进行目标输出处理,获得待处理文本的文本处理结果。
可选地,第二获取模块304基于字符向量和位置向量进行以邻接字符为单位的局部池化处理包括:针对每个字符向量,根据位置向量确定与该字符向量最相邻的相邻字符向量,基于该字符向量及相邻字符向量进行池化处理。
可选地,第二获取模块304基于字符向量和位置向量进行以整个待处理文本为单位的全局池化处理包括:基于位置向量,对待处理文本对应的所有字符向量进行池化处理。
可选地,本实施例的文本处理装置还包括生成模块310,用于在第一获取模块302对待处理文本进行向量化处理之前,对待处理文本进行分段处理,获得至少一个文本段,并为各个文本段中的字符生成段落标记信息。基于此,第二获取模块304基于字符向量和位置向量进行以分段为单位的分段池化处理包括:获取各个字符对应的段落标记信息;根据字符向量、段落标记信息和位置向量,进行以段落标记信息所标记的文本段为单位的池化处理。
可选地,第二获取模块304获得所述待处理文本对应的文本特征包括:对局部池化处理后获得的特征、全局池化处理后获得的特征和分段池化处理后获得的特征进行合并,根据合并结果获得待处理文本对应的文本特征。
可选地,第二获取模块304基于字符向量和位置向量分别进行局部池化处理、全局池化处理和分段池化处理包括:将字符向量和位置向量输入编码器,通过编码器中的局部池化层、全局池化层和分段池化层分别进行对应的局部池化处理、全局池化处理和分段池化处理。
可选地,编码器包括多个依次连接的编码块,每个编码块包括局部池化层、全局池化层、分段池化层:连接于局部池化层、全局池化层、分段池化层之后的第一残差及归一化层;连接于残差及归一化层之后的前馈网络层;以及,连接于前馈网络层之后的第二残差及归一化层。
可选地,第三获取模块306,用于将文本特征依次输入第一残差及归一化层、前馈网络层和第二残差及归一化层进行处理,获得文本特征对应的编码向量。
可选地,局部池化处理、全局池化处理和分段池化处理均为最大池化处理;或者,局部池化处理、全局池化处理和分段池化处理均为平均池化处理。
可选地,第四获取模块308,用于对编码向量进行全连接处理,对全连接处理后的向量进行输出映射,获得待处理文本的文本处理结果。
本实施例的文本处理装置用于实现前述多个方法实施例中相应的文本处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的文本处理装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例四
参照图6,示出了根据本申请实施例四的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图6所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它电子设备或服务器进行通信。
处理器402,用于执行程序410,具体可以执行上述文本处理方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行前述多个方法实施例中任一所描述的文本处理方法。
程序410中各步骤的具体实现可以参见上述文本处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程及可实现的技术效果,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一文本处理方法对应的操作。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的文本处理方法。此外,当通用计算机访问用于实现在此示出的文本处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的文本处理方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
Claims (14)
1.一种文本处理方法,包括:
对待处理文本进行向量化处理,获得所述待处理文本对应的字符向量和位置向量;
基于所述字符向量和所述位置向量分别进行以邻接字符为单位的局部池化处理、以整个待处理文本为单位的全局池化处理和以分段为单位的分段池化处理,获得所述待处理文本对应的文本特征;
基于所述文本特征获得对应的编码向量;
对所述编码向量进行目标输出处理,获得所述待处理文本的文本处理结果。
2.根据权利要求1所述的方法,其中,基于所述字符向量和所述位置向量进行以邻接字符为单位的局部池化处理,包括:
针对每个字符向量,根据所述位置向量确定与该字符向量最相邻的相邻字符向量,基于该字符向量及相邻字符向量进行池化处理。
3.根据权利要求1所述的方法,其中,基于所述字符向量和所述位置向量进行以整个待处理文本为单位的全局池化处理,包括:
基于所述位置向量,对所述待处理文本对应的所有字符向量进行池化处理。
4.根据权利要求1所述的方法,其中,
在对待处理文本进行向量化处理之前,所述方法还包括:对所述待处理文本进行分段处理,获得至少一个文本段,并为各个文本段中的字符生成段落标记信息;
基于所述字符向量和所述位置向量进行以分段为单位的分段池化处理,包括:获取各个字符对应的段落标记信息;根据所述字符向量、所述段落标记信息和所述位置向量,进行以所述段落标记信息所标记的文本段为单位的池化处理。
5.根据权利要求1-4任一项所述的方法,其中,所述获得所述待处理文本对应的文本特征,包括:
对所述局部池化处理后获得的特征、所述全局池化处理后获得的特征和所述分段池化处理后获得的特征进行合并,根据合并结果获得所述待处理文本对应的文本特征。
6.根据权利要求1-4任一项所述的方法,其中,所述基于所述字符向量和所述位置向量分别进行以邻接字符为单位的局部池化处理、以整个待处理文本为单位的全局池化处理和以分段为单位的分段池化处理,包括:
将所述字符向量和所述位置向量输入编码器,通过所述编码器中的局部池化层、全局池化层和分段池化层分别进行对应的局部池化处理、全局池化处理和分段池化处理。
7.根据权利要求6所述的方法,其中,所述编码器包括多个依次连接的编码块,每个编码块包括所述局部池化层、所述全局池化层、所述分段池化层:连接于所述局部池化层、所述全局池化层、所述分段池化层之后的第一残差及归一化层;连接于所述残差及归一化层之后的前馈网络层;以及,连接于所述前馈网络层之后的第二残差及归一化层。
8.根据权利要求7所述的方法,其中,所述基于所述文本特征获得对应的编码向量,包括:
将所述文本特征依次输入第一残差及归一化层、前馈网络层和第二残差及归一化层进行处理,获得所述文本特征对应的编码向量。
9.根据权利要求1-4任一项所述的方法,其中,
所述局部池化处理、所述全局池化处理和所述分段池化处理均为最大池化处理;
或者,
所述局部池化处理、所述全局池化处理和所述分段池化处理均为平均池化处理。
10.根据权利要求1-4任一项所述的方法,其中,对所述编码向量进行目标输出处理,获得所述待处理文本的文本处理结果,包括:
对所述编码向量进行全连接处理,对全连接处理后的向量进行输出映射,获得所述待处理文本的文本处理结果。
11.一种文本处理方法,包括:
通过智能设备接收输入的语音问题,并将所述语音问题转换为对应的问题文本;
对所述问题文本进行向量化处理,获得所述问题文本对应的字符向量和位置向量;
基于所述字符向量和所述位置向量分别进行以邻接字符为单位的局部池化处理、以整个问题文本为单位的全局池化处理和以所述问题文本中的分段为单位的分段池化处理,获得所述问题文本对应的文本特征;
基于所述文本特征获得对应的编码向量;
对所述编码向量进行问题分类输出处理,获得所述问题文本对应的问题分类;
根据所述问题分类获得所述问题文本对应的答案文本,将所述答案文本转换为语音答案并通过所述智能设备输出。
12.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-11中任一项所述的文本处理方法对应的操作。
13.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-11中任一所述的文本处理方法。
14.一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如权利要求1-11中任一所述的文本处理方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146756.3A CN113887169A (zh) | 2021-09-28 | 2021-09-28 | 文本处理方法、电子设备、计算机存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146756.3A CN113887169A (zh) | 2021-09-28 | 2021-09-28 | 文本处理方法、电子设备、计算机存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113887169A true CN113887169A (zh) | 2022-01-04 |
Family
ID=79007573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111146756.3A Pending CN113887169A (zh) | 2021-09-28 | 2021-09-28 | 文本处理方法、电子设备、计算机存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113887169A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492437A (zh) * | 2022-02-16 | 2022-05-13 | 平安科技(深圳)有限公司 | 关键词识别方法、装置、电子设备及存储介质 |
CN114818609A (zh) * | 2022-06-29 | 2022-07-29 | 阿里巴巴达摩院(杭州)科技有限公司 | 用于虚拟对象的交互方法、电子设备及计算机存储介质 |
-
2021
- 2021-09-28 CN CN202111146756.3A patent/CN113887169A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492437A (zh) * | 2022-02-16 | 2022-05-13 | 平安科技(深圳)有限公司 | 关键词识别方法、装置、电子设备及存储介质 |
CN114492437B (zh) * | 2022-02-16 | 2023-07-18 | 平安科技(深圳)有限公司 | 关键词识别方法、装置、电子设备及存储介质 |
CN114818609A (zh) * | 2022-06-29 | 2022-07-29 | 阿里巴巴达摩院(杭州)科技有限公司 | 用于虚拟对象的交互方法、电子设备及计算机存储介质 |
CN114818609B (zh) * | 2022-06-29 | 2022-09-23 | 阿里巴巴达摩院(杭州)科技有限公司 | 用于虚拟对象的交互方法、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111160343B (zh) | 一种基于Self-Attention的离线数学公式符号识别方法 | |
CN111460807A (zh) | 序列标注方法、装置、计算机设备和存储介质 | |
CN112632225B (zh) | 基于案事件知识图谱的语义搜索方法、装置和电子设备 | |
CN113408574B (zh) | 一种车牌分类方法、车牌分类装置和计算机可读存储介质 | |
CN113887169A (zh) | 文本处理方法、电子设备、计算机存储介质及程序产品 | |
CN112487812A (zh) | 一种基于边界识别的嵌套实体识别方法及系统 | |
CN111738169A (zh) | 一种基于端对端网络模型的手写公式识别方法 | |
CN114298121A (zh) | 基于多模态的文本生成方法、模型训练方法和装置 | |
CN115062134B (zh) | 知识问答模型训练及知识问答方法、装置和计算机设备 | |
CN114398881A (zh) | 基于图神经网络的交易信息识别方法、系统及介质 | |
US11615247B1 (en) | Labeling method and apparatus for named entity recognition of legal instrument | |
CN112232070A (zh) | 自然语言处理模型构建方法、系统、电子设备及存储介质 | |
US20230215162A1 (en) | Method and apparatus for text-to-image generation using self-supervised discriminator to extract image feature | |
CN114140831A (zh) | 人体姿态估计方法、装置、电子设备及存储介质 | |
US20230153085A1 (en) | Systems and methods for source code understanding using spatial representations | |
CN115810215A (zh) | 面部图像生成方法、装置、设备及存储介质 | |
CN115496134A (zh) | 基于多模态特征融合的交通场景视频描述生成方法和装置 | |
CN115116427A (zh) | 标注方法、语音合成方法、训练方法及装置 | |
CN113051920A (zh) | 命名实体识别方法、装置、计算机设备和存储介质 | |
CN111581332A (zh) | 基于三元组深度哈希学习的相似司法案例匹配方法及系统 | |
CN111462738B (zh) | 语音识别方法及装置 | |
CN116975298B (zh) | 一种基于nlp的现代化社会治理调度系统及方法 | |
CN114548325B (zh) | 基于对偶对比学习的零样本关系抽取方法和系统 | |
CN114417832B (zh) | 消歧方法、消歧模型的训练方法及装置 | |
CN116756283A (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 |