CN113095040A - 一种编码网络的训练方法、文本编码方法和系统 - Google Patents
一种编码网络的训练方法、文本编码方法和系统 Download PDFInfo
- Publication number
- CN113095040A CN113095040A CN202110410042.2A CN202110410042A CN113095040A CN 113095040 A CN113095040 A CN 113095040A CN 202110410042 A CN202110410042 A CN 202110410042A CN 113095040 A CN113095040 A CN 113095040A
- Authority
- CN
- China
- Prior art keywords
- vector representation
- vector
- character
- probability value
- character string
- 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
- 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)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (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)
- Machine Translation (AREA)
Abstract
本说明书实施例提供了一种编码网络的训练方法、文本编码方法和系统,包括:获取训练文本;确定训练文本中的遮罩片段;通过编码模型确定训练文本中的遮罩片段的上文向量表示和下文向量表示;基于上文向量表示和下文向量表示,通过预测模型确定遮罩片段中各字符对应的出现概率;基于包含出现概率项的损失函数更新编码模型和预测模型的参数;其中,编码模型以及预测模型分别具有编码网络,且共享编码网络的参数,还包括:基于所的字符向量序列,通过编码模型进行多次处理以获得文本中两个或以上连续字符组成的字符串的向量表示,编码模型用于接收第一向量表示与第二向量表示,输出组合向量表示及组合概率值。
Description
技术领域
本说明书涉及计算机技术领域,特别涉及编码网络的训练方法、文本编码方法和系统。
背景技术
随着计算机技术领域的飞速发展,在自然语言处理的相关技术中,对文本处理的要求也越来越高。在文本处理中,会对文本进行编码,文本编码是一个对文本处理以生成对应特征表示(如向量表示)的过程,自然语言中的文本通常是由字符构成词语、短语、句子,即文本具有句法结构,在文本编码过程中,如果在文本编码时考虑文本的句法结构,则可以得到语义表征更加有意义和准确的特征表示。
为此,本说明书提供了一种编码网络的训练方法、文本编码方法和系统。
发明内容
本说明书一个方面提供一种编码网络的训练方法,包括:获取训练文本;确定所述训练文本中的遮罩片段,所述遮罩片段包括单个字符或连续的两个以上字符;通过编码模型确定所述训练文本中的遮罩片段的上文向量表示和下文向量表示;基于所述上文向量表示和所述下文向量表示,通过预测模型确定所述遮罩片段中各字符对应的出现概率;基于包含出现概率项的损失函数更新所述编码模型和所述预测模型的参数;其中,所述编码模型以及所述预测模型分别具有编码网络,且共享编码网络的参数。
本说明书另一个方面提供一种编码网络的训练的系统,包括:获取模块,用于获取训练文本;片段确定模块,用于确定所述训练文本中的遮罩片段,所述遮罩片段包括单个字符或连续的两个以上字符;向量表示获取模块,用于通过编码模型确定所述训练文本中的遮罩片段的上文向量表示和下文向量表示;预测模块,用于基于所述上文向量表示和所述下文向量表示,通过预测模型确定所述遮罩片段中各字符对应的出现概率;参数更新模块,用于基于包含出现概率项的损失函数更新所述编码模型和所述预测模型的参数;其中,所述编码模型以及所述预测模型分别具有编码网络,且共享编码网络的参数。
本说明书另一个方面提供一种编码网络的训练的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以所述的编码网络的训练方法。
本说明书另一个方面提供一种文本编码方法,包括:基于所述文本的字符向量序列,通过编码模型进行多次处理以获得所述文本中两个或以上连续字符组成的字符串的向量表示,所述编码模型用于接收第一向量表示与第二向量表示,输出组合向量表示及组合概率值;其中一次处理包括:获取字符串在一种或以上分裂方式下的左子串向量表示、左子串概率值、右子串向量表示以及右子串概率值;利用所述编码模型处理各分裂方式下的左子串向量表示与右子串向量表示,获得所述字符串在各分裂方式下的组合向量表示以及组合概率值;基于各分裂方式下的左子串概率值、右子串概率值以及组合概率值,确定所述字符串在各分裂方式下的第一字符串概率值;基于各分裂方式下的第一字符串概率值获得权重系数;基于所述权重系数对各分裂方式下的组合向量表示进行加权求和,得到所述字符串的所述向量表示;基于所述权重系数对各分裂方式下的第一字符串概率值进行加权求和,得到所述字符串的字符串概率值。
本说明书另一个方面提供一种文本编码系统,用于基于所述文本的字符向量序列,通过编码模型进行多次处理以获得所述文本中两个或以上连续字符组成的字符串的向量表示,所述编码模型用于接收第一向量表示与第二向量表示,输出组合向量表示及组合概率值;述系统包括获取单元、组合单元、第一概率值计算单元、权重系数计算单元、字符串向量表示获取单元以及字符串概率值获取单元,且在一次处理中:所述获取单元用于获取字符串在一种或以上分裂方式下的左子串向量表示、左子串概率值、右子串向量表示以及右子串概率值;所述组合单元用于利用所述编码模型处理各分裂方式下的左子串向量表示与右子串向量表示,获得所述字符串在各分裂方式下的组合向量表示以及组合概率值;所述第一概率值计算单元用于基于各分裂方式下的左子串概率值、右子串概率值以及组合概率值,确定所述字符串在各分裂方式下的第一字符串概率值;所述权重系数计算单元用于基于各分裂方式下的第一字符串概率值获得权重系数;所述字符串向量表示获取单元用于基于所述权重系数对各分裂方式下的组合向量表示进行加权求和,得到所述字符串的所述向量表示;所述字符串概率值获取单元用于基于所述权重系数对各分裂方式下的第一字符串概率值进行加权求和,得到所述字符串的字符串概率值。
本说明书另一个方面提供一种文本编码装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现所述的文本编码方法。
本说明书另一个方面提供一种编码模型,包括:编码网络,用于基于第一向量表示和第二向量表示,确定所述第一向量表示对应的第一中间向量表示、所述第二向量表示对应的第二中间向量表示以及至少一个任务向量表示;组合处理网络,用于基于一个或多个任务向量表示确定组合权重系数;以及基于所述组合权重系数、所述第一中间向量表示和所述第二中间向量表示确定所述组合向量表示;组合概率预测网络,用于基于一个或多个任务向量表示,确定与所述组合向量表示对应的组合概率值。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的一种编码网络的训练方法的示例性流程图;
图2是根据本说明书一些实施例所示的预测模型的示意图;
图3A是根据本说明书一些实施例所示的对应于文本中两个或以上连续字符组成的字符串的组织过程示意图;
图3B是是根据本说明书一些实施例所示的对应于文本中两个或以上连续字符组成的字符串的多个向量表示的示意图;
图4是根据本说明书一些实施例所示的一种文本编码方法的示例性流程图;
图5是根据本说明书一些实施例所示的一种编码模型的示意图;
图6是根据本说明书一些实施例所示的一种模型训练系统的示例性框图;
图7是根据本说明书一些实施例所示的一种文本编码系统的示例性框图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在自然语言处理的相关技术中,需要对文本进行编码处理,文本编码是一个对文本处理以生成对应特征表示的过程,例如,将文本转换为向量表示。作为示例,基于文本对应的字符向量序列(由文本中每个字符的向量组成的序列),将其中的多个字符对应的字符向量进行处理,可以得到一个向量表示作为文本的向量表示。自然语言中的文本通常是由字符构成词语、短语、句子,即文本具有句法结构。如果文本编码能够考虑到文本的句法结构,那么可以得到语义表征更加有意义和准确的特征表示。
在文本处理的很多场景中,文本编码可以通过编码模型实现,例如可以通过编码模型处理文本以生成文本对应的特征表示如向量表示,编码模型可以基于训练数据对其进行训练得到。在一些实施例中,在编码模型训练时直接将整句文本(不考虑文本的分裂或断句方式)作为模型的输入,得到相应的向量表示,此时,编码模型难以学习到文本的句法结构。
人类理解文本的过程是自底向上的,从字组合成词,组合成短语,组合成句的理解过程,比如对文本“我喜欢吃大西瓜”正常的组织过程如图3A所示。拆解来看,在理解过程中每一次组合,都会涉及到左子串(文本分裂点左侧的字符或字符串)和右子串(文本分裂点右侧的字符或字符串)的合并或组合得到上层的字符串或文本,如“喜”+“欢”=“喜欢”,“我”+“喜欢”=“我喜欢”,“我喜欢吃”+“大西瓜”=“我喜欢吃大西瓜”等。
本说明书一些实施例公开了一种较为基础通用的编码网络,其可以接收两个向量表示进行编码处理,得到一个或多个输出向量。所述编码网络可以基于LSTM模型、Transformer或深度神经网络DNN实现。在一些实施例中,可以进一步对一个或多个输出向量进行处理,以便完成预设的预测任务。例如,可以基于所述编码网络构造一种编码模型,进一步对编码网络输出的一个或多个输出向量进行处理,得到对应于输入的两个向量表示的组合向量表示以及组合概率值,其中组合概率值可以反映将所述两个向量表示进行组合和/或对组合向量表示的评分。又例如,可以基于所述编码网络构造一种用于自然语言处理的预测模型,而输入的两个向量表示可以是文本中部分分段或字符串对应的向量表示,预测模型进一步对编码网络输出的一个或多个输出向量进行处理,可以基于输入的两个向量表示预测文本中其他部分的一个或多个字符。
不难看出,基于该编码网络构造的模型对输入数据的处理过程类似于人类理解文本的自然过程。以编码模型作为示例,可以利用该编码模型基于递归层次进行文本编码,在一次递归中,可以将文本按照不同方式进行分裂(每种方式可以只通过一个分裂点将文本分为左右两个子串),每一种分裂方式可以获得左子串向量表示(分裂点左侧的字符或字符串对应的向量表示)与右子串向量表示(分裂点右侧的字符或字符串对应的向量表示),进而可以利用该编码模型处理左子串向量表示与右子串向量表示得到对应分裂方式下的组合向量表示,再进一步基于各分裂方式下的组合向量表示得到该文本的向量表示。
有鉴于此,本说明书的一些实施例提出了一种预训练方法,基于大量文本对编码网络或包含编码网络的语言模型(如编码网络以及所述预测网络)进行预训练,进而获得一种能够学习到有意义句法结构的编码网络。所述编码网络可以作为语言学基础模型,应用在各种自然语言处理任务(NLP),如知识挖掘,文本分类,关系抽取,实体挖掘等中。作为示例,所述编码网络可以与其他网络层结合,得到用于自然语言处理的语言模型,如文本分类模型、意图识别模型等。
本说明书的一些实施例中,还可以将预训练得到的编码模型用于较为通用的文本编码,得到文本的特征表达,以进一步用于其他自然语言处理中。以文本相似性比较为例,可以编码模型得到文本的向量表示,基于文本的向量计算向量间的距离,如欧式距离,进而可以得到文本的相似度。
通过本说明书中的语言模型或编码网络得到的文本的向量表示可以反映句法结构信息,表征能力更强,令NLP任务的文本预测、文本处理等更加准确,效果更好。
图1是根据本说明书一些实施例所示的一种编码网络的训练方法的示例性流程图。方法100可以由处理设备执行。
在一些实施例中,方法100可以由部署于处理设备上的模型训练系统600实现。
如图1所示,该方法100可以包括:
步骤110,获取训练文本。
在一些实施例中,该步骤110可以由获取模块610执行。
训练文本是指作为训练数据的文本。文本可以是任意形式的自然语言文本,例如可以是一句话、一个段落或者一篇文章,也可以是任意语种的自然语言文本,例如中文、英文或德文的自然语言文本。
在一些实施例中,可以从存储有文本的数据库、存储设备等中获取多条文本作为训练文本,此处对获取训练文本的方法不做限制。
步骤120,确定所述训练文本中的遮罩片段。
在一些实施例中,该步骤120可以由片段确定模块620执行。
遮罩片段是指一个训练文本中,被遮罩的文本片段,在后续将训练文本输入预测模型中处理时,被遮罩的文本片段可以被当作黑盒子,实现对遮罩片段的相关信息预测等任务。文本是由多个字符依次排列构成的,可以理解为由多个字符构成的字符串。其中,字符可以理解为文本的最小语义单元,在中文文本中,字符可以是单个汉字,在英文文本中,字符可以是单词。遮罩片段可以包括单个字符或连续的两个以上字符,例如2个、3个或4个,遮罩片段包括的字符数量可以根据经验或实际需求进行确定。以一个训练文本“今天外面的天气真好”为例,遮罩片段可以是“天”、或者“天气”。
在一些实施例中,遮罩片段可以是随机确定的,也可以是根据实际需要来确定的,例如可以将满足预设条件(连词、动词、名词或形容词等)的文本片段作为遮罩片段。
步骤130,基于所述训练文本的字符向量序列,通过编码模型确定所述训练文本中的遮罩片段的上文向量表示和下文向量表示。
具体的,该步骤130可以由向量表示获取模块630执行。
训练文本为由多个字符排列构成的字符串,可以对应得到训练文本的字符向量序列。字符向量序列是指由字符串的多个字符对应字符向量构成的序列,例如,多个中文字符对应的字符向量构成的序列,或者多个英文单词对应的词向量表示构成的序列。字符向量序列与字符串的排列方式相同。字符向量可以通过查询词表获得,词表可以是各种汉字的字符向量组成的集合,也可以是各种英文单词的字符向量组成的集合。不同的字符对应的字符向量不同,词表记录了字符向量以及其与字符的对应关系。在一些实施例,还可以通过调用函数如R语言的字符转换函数,将字符串中的字符转换为对应的字符向量。又例如,还可以通过one-hot编码模型等其它编码模型,得到字符串中各个字符对应的字符向量。任意可行的向量化方法均可以用于生成字符的字符向量。
上文向量表示是指在一个训练文本中,遮罩片段的上文对应的向量表示,下文向量表示是指在一个训练文本中,遮罩片段的下文对应的向量表示。
遮罩片段的上文可以包括位于遮罩片段的上文(如遮罩片段的左侧)的单个字符或连续的两个以上字符组成的字符串,上文向量表示即是位于遮罩片段的上文的单个字符或连续的两个以上字符组成的字符串对应的向量表示。同理,遮罩片段的下文可以包括位于遮罩片段的下文(如遮罩片段的右侧)的单个字符或连续的两个以上字符组成的字符串,下文向量表示即是位于遮罩片段的下文的单个字符或连续的两个以上字符组成的字符串对应的向量表示。可以理解,遮罩片段的上文向量表示和下文向量表示可以是文本中,遮罩片段的完整上文和完整下文对应的向量表示,也可以是文本中,遮罩片段的上文片段和下文片段对应的向量表示。
例如:以一个训练文本“今天外面的天气真好”为例,遮罩片段是“天”,遮罩片段的上文可以是“的”或“外面的”或“今天外面的”,遮罩片段的下文可以是“气”或“气真好”。遮罩片段的上文是“的”,上文向量表示即是“的”对应的向量表示,遮罩片段的上文是“外面的”,上文向量表示即是字符串“外面的”对应的向量表示。同理,遮罩片段的下文是“气”,下文向量表示即是“气”对应的向量表示,遮罩片段的下文是“气真好”,下文向量表示即是字符串“气真好”对应的向量表示。
上文向量表示和下文向量表示可以分别体现遮罩片段的上文和下文的文本信息,文本信息可以包括语义、词性等信息。
编码模型是指用于对文本进行编码的模型。在一些实施例中,可以通过编码模型处理所述文本中的遮罩片段的上文,得到上文向量表示,通过编码模型处理下文,得到对应的下文向量表示。在一些实施例中,编码模型可以包括编码网络,所述编码网络可以基于长短期记忆网络(LSTM)模型、循环神经网络(RNN)模型、Transformer模型等实现。在一些实施例中,所述编码网络可以接收两个向量表示,输出一个或多个输出向量,相应的,编码模型可以接收第一向量表示与第二向量表示,输出组合向量表示及组合概率值。例如,对于上文,可以将上文分为左子串和右子串,所述编码模型可以接收所述上文的左子串向量表示和右子串向量表示,得到组合向量表示,并基于所述组合向量表示得到所述上文向量表示。
在一些实施例中,可以基于训练文本的字符向量序列,通过编码模型确定训练文本的多个向量表示,多个向量表示分别对应于训练文本中两个或以上连续字符组成的字符串。例如,以一个训练文本“今天外面的天气真好”为例,两个连续字符组成的字符串包括“今天”、“天外”、“外面”等,三个连续字符组成的字符串包括“今天外”、“天外面”等,以此类推。
如图3B所示,对于包含7个字符S1~S7的文本,对应于文本中两个或多个连续字符组成的字符串的多个向量表示可以分别为图中的V1,2、V2,3、…、V1,7。更加一般的,图中的Vi,j表示从文本中第i个字符到第j个字符组成的字符串对应的向量表示,j≥i。可以基于文本的字符向量序列{V1,1,V2,2,V3,3,V4,4,V5,5,V6,6,V7,7},通过编码模型确定由文本中2个连续字符组成的多个字符串对应的多个向量表示V1,2、V2,3、V3,4、V4,5、V5,6、V6,7,再基于字符向量序列和向量表示V1,2、V2,3、V3,4、V4,5、V5,6、V6,7的组合,通过编码模型进一步确定文本中3个连续字符组成的多个字符串对应的向量表示如V1,3、V2,4等,可以按照此方法,依次基于图3B中下层的字符串的向量表示的组合,通过编码模型得到更高层级的字符串对应的向量表示,字符向量序列可以认为是底层的向量表示。
关于编码模型和通过编码模型确定文本的多个向量表示的更多内容可以参见图3B、图4、图5及其相关内容。
确定训练文本的多个向量表示后,可以从多个向量表示中确定训练文本中的遮罩片段的上文向量表示和下文向量表示。其中,可以在多个向量表示中,确定遮罩片段的上文的单个字符或连续的两个以上字符组成的字符串对应的向量表示,将其对应作为上文向量表示;可以在多个向量表示中,确定遮罩片段的下文的单个字符或连续的两个以上字符组成的字符串对应的向量表示,将其作为下文向量表示。例如,如图2所示,将遮罩片段左侧第a个到第i个字符组成的字符串对应的向量表示Va,i确定为遮罩片段的上文表示向量,a的取值为1,…,i,将遮罩片段右侧第j个到第b个字符组成的字符串对应的向量表示Vj,b确定为遮罩片段的下文表示向量,b的取值为j,…,n。
步骤140,基于所述上文向量表示和所述下文向量表示,通过预测模型确定所述遮罩片段中各字符对应的出现概率。
具体的,该步骤140可以由预测模块640执行。
字符对应的出现概率是指在文本中,该位置出现该字符的概率。
对于遮罩片段,当遮罩片段包括单个字符时,可通过预测模型确定该字符对应的出现概率,当遮罩片段包括连续的两个以上字符时,可通过预测模型确定遮罩片段中各个字符分别对应的出现概率。例如,以一个训练文本“今天外面的天气真好”为例,遮罩片段为“天”,通过预测模型确定在被遮罩的字符“天”对应的出现概率为0.2,又例如,遮罩片段为“的天气”,通过预测模型确定被遮罩的字符“的”对应的出现概率为0.3,被遮罩的字符“天”对应的出现概率为0.2,被遮罩的字符“气”对应的出现概率为0.2。
预测模型是可以预测字符对应的出现概率的模型,可以将上文向量表示和下文向量表示输入预测模型,预测模型可以确定遮罩片段中各字符对应的出现概率。
在一些实施例中,预测模型可以包括:深度神经网络(DNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)、双向长短期记忆网络(BiLSTM)等可以实现基于上文和下文预测字符对应的出现概率的模型。
图2是根据本说明书一些实施例所示的预测模型的示意图。
在一些实施例中,如图2所示,预测模型可以包括编码网络,编码网络可以处理上文向量表示和下文向量表示,获得遮罩片段中一个或多个字符对应的一个或多个预测向量。编码网络可以包括但不限于LSTM网络、Transformer等网络模块。预测模型的编码网络可以和前述编码模型的编码网络相同。
以编码网络采用Transformer网络模块为例,编码网络可以包括至少一个Transformer层,例如3个或4个连接的Transformer层。将上文向量表示、下文向量表示作为编码网络的输入。在一些实施例中,编码网络的输入还可以包括上文向量表示和下文向量表示上分别对应的角色向量表示。例如,可以在上文向量表示和下文向量表示上分别叠加对应的角色向量表示作为编码网络的输入。角色向量表示用于区分上文向量表示和下文向量表示,两者互异即可。仅作为示例,角色向量表示[1]为元素0组成的向量,角色向量表示的最后一个元素为1,其余元素为0。进一步的,还可以确定用于表示预测任务的标识,例如[MASK]等,并将其一起作为编码网络的输入。基于前述输入,编码网络可以输出一个或多个输出向量,可以将其中的一个或多个输出向量作为遮罩片段中一个或多个字符对应的一个或多个预测向量。
在一些实施例中,如图2所示,预测模型可以包括出现概率预测网络,出现概率预测网络可以处理编码网络得到的一个或多个预测向量,得到遮罩片段中一个或多个遮罩位置分别对应的一个或多个词表概率向量。其中,一个或多个遮罩位置与遮罩片段中各字符一一对应。
词表概率向量是指在词表中包括的各个字符对应在指定位置(遮罩位置)处的出现概率所构成向量表示,可以理解,词表概率向量包括多个元素,元素的数量与词表中的字符数量相同,各个元素对应词表中各字符对应在指定位置处的出现概率,即各个元素分别反映词表概率向量对应的遮罩位置出现词表中各字符的概率值。
从一个或多个词表概率向量中分别获取各遮罩位置出现所述遮罩片段中对应字符的概率值,即作为遮罩片段中各字符对应的出现概率。例如,词表中有5个字符“你”“我”“他”“她”“它”,遮罩位置为文本中第i个字符,其对应的词表概率向量为(0.2,0.2,0.4,0.1,0.1),5个元素分别对应词表中5个字符“你”“我”“他”“她”“它”在第i个字符处出现的概率值,在文本中第i个位置处被遮罩的字符原为“他”,即获取词表概率向量中“他”对应的概率值0.4,将其作为遮罩片段中被遮罩的字符“他”对应的出现概率。
出现概率预测网络可以包括转换层和转换层连接的用于分类输出多个概率值的分类层,转换层可以包括全连接网络或线性层网络等用于处理向量表示得到与词表同维的输出向量的网络(如将256维的预测向量转化为5000维的输出向量,其中词表中的字符数为5000个),分类层可以包括softmax层、激活函数层等分类输出多个概率值的网络模块。例如,可以通过softmax层将输出向量中的元素转化为概率值,得到词表概率向量,词表概率向量各元素的总和为1。
步骤150,基于包含出现概率项的损失函数更新所述编码模型和所述预测模型的参数。
具体地,该步骤150可以由参数更新模块650执行。
基于多个训练文本可以迭代更新编码模型和预测模型的参数,以实现编码模型和预测模型的训练。在一些实施例中,编码模型和预测模型是联合训练的。
在对编码模型和预测模型进行训练时,可以确定训练的损失函数,损失函数可以基于预测模型输出的出现概率来确定。基于损失函数迭代更新编码模型和预测模型的参数,可以是更新所述编码模型以及所述预测模型的参数,以使得所述遮罩片段中各字符的出现概率最大化。或者,可以基于预测模型输出的出现概率和期望概率之间的差异来确定损失函数,期望概率可以是根据经验或实际需求设定,例如可以是1或0.9等。基于损失函数迭代更新编码模型和预测模型的参数,可以是更新所述编码模型以及所述预测模型的参数,以使得所述差异最小化。可以理解,函数中可以包括一项或多项组成部分,前述确定的损失函数中可以包含出现概率项,出现概率项指与出现概率相关或基于出现概率确定的函数项。
训练时,基于损失函数迭代更新编码模型和预测模型的参数,可以通过梯度下降法等模型训练方法对模型参数进行更新或优化,当预测模型、编码模型满足预设条件时,训练结束,可以得到训练好的预测模型和编码模型。其中,预设条件可以是损失函数结果收敛、所述遮罩片段中各字符的出现概率大于预设阈值或所述差异小于预设阈值等。
如前所述,编码模型以及预测模型分别具有编码网络,在对编码模型和预测模型进行联合训练时,编码模型和预测模型可以共享编码网络的参数。例如,编码模型以及预测模型分别具有包括至少一个Transformer层的编码网络,在训练时,编码模型和预测模型的至少一个Transformer层的参数相同。
图3B是根据本说明书一些实施例所示的对应于文本中两个或以上连续字符组成的字符串的多个向量表示的示意图。
如图3B所示,通过编码模型得到的对应于文本中两个或以上连续字符组成的字符串的多个向量表示可以构成三角矩阵(如上三角矩阵)的数据结构,进一步的,还可以构成基于三角矩阵的变形得到的其它衍生矩阵的数据结构。
文本包括n个字符依次排列构成的字符串,可以表示为(S1,S2,…,Sn),文本对应的字符向量序列可以表示为(V1,1,V2,2,…,Vi,i),Vi,i表示字符向量序列中的第i个元素的字符向量,也可以看作是长度为1的字符串的向量表示,i为由1到n范围内的整数,n为字符向量序列的长度。此处及本说明书其他位置的变量表示形式均只是一种约定,可以替换为实质相同的其他表示形式。如图3B所示,文本“我喜欢吃大西瓜”为字符串(S1,S2,…,S7),文本的字符向量序列为(V1,1,V2,2,…,V7,7),V1,1为“我”对应的字符向量,V3,3为“欢”对应的字符向量。在这个示例中,将每个汉字作为一个字符。
通过编码模型确定的对应于文本中两个或以上连续字符组成的字符串的多个向量表示为Vi,j,Vi,j为文本中第i个至第j个字符所对应字符串或字符向量序列中第i个至第j个字元素所对应部分的向量表示,其中j大于i,j也为由1到n范围内的整数。
例如,如图3B所示,V2,4为字符串“喜欢吃”或其对应的字符向量序列中的部分元素的语义表示,2与文本“我喜欢吃大西瓜”中的第二个词“喜”对应,4与第四个词“吃”对应。
又例如,如图3B所示,V1,7为字符串“我喜欢吃大西瓜”的向量表示,7为文本字符和对应的词向量序列的长度,即V1,7为整个文本“我喜欢吃大西瓜”对应的向量表示。
图4是根据本说明书一些实施例所示的一种文本编码方法的示例性流程图。
在一些实施例中,方法400可以由部署于处理设备上的文本编码系统700实现。
下面以图3B所示的文本为例,对方法400进行说明。文本的字符串表示为(S1,S2,…,Sn),文本对应的字符向量序列可以表示为(V1,1,V2,2,…,Vi,i)。
如图4所示,该方法400可以由编码模块710执行,方法可以包括:基于所述文本的字符向量序列(V1,1,V2,2,…,Vi,i),通过编码模型进行多次处理以获得所述文本向量表示V1,7,且在获得文本向量表示V1,7的同时,也可以获得该文本中两个或以上连续字符组成的字符串的向量表示Vi,j。其中,每一次处理得到文本中一个字符串的向量表示。编码模型用于接收第一向量表示与第二向量表示,输出第一向量表示与第二向量表示进行组合得到的组合向量表示及组合概率值,关于编码模型得到组合向量表示及组合概率值的更多内容可以参见图5及其相关说明。
其中,一次递归处理可以通过由文本编码系统700执行,以获得文本中字符Si到字符Sj组成的字符串Si,j的向量表示为例,一次处理可以包括:
步骤410,获取字符串在一种或以上分裂方式下的左子串向量表示、左子串概率值、右子串向量表示以及右子串概率值。
在一些实施例中,步骤410可以由获取单元710执行。
可以对字符串Si,j进行分裂。进一步的,对字符串的分裂方式是指在第k个字符处,将字符串分为左子串和右子串,k为由i到j-1范围内的整数,由k的取值可以得出,字符串可以对应有一种或以上的分裂方式。
按照前述分裂方式对字符串分裂得到的左子串有对应的向量表示,可以称为左子串向量表示,即Vi,k,右子串也有对应的向量表示,可以称为右子串向量表示,即Vk+1,j。进一步的,左字串还对应有左子串概率值,右字串还对应有右子串概率值。
步骤420,利用所述编码模型处理各分裂方式下的左子串向量表示与右子串向量表示,获得所述字符串在各分裂方式下的组合向量表示以及组合概率值。
在一些实施例中,步骤420可以由组合单元720执行。
组合向量表示基于Vi,k和Vk+1,j确定。例如,对k=2,前例V2,4中i=2,j=4,相关的基于V2,2和V3,4确定,即对于“喜欢吃”的向量表示,相关的基于对应“喜”和“欢吃”的向量表示确定,类似地,基于V2,3和V4,4确定。
如前所述,编码模型可以接收第一向量表示与第二向量表示,输出第一向量表示与第二向量表示进行组合得到的组合向量表示及组合概率值。字符串分裂得到的左子串向量表示Vi,k与右子串向量表示Vk+1,j即可以作为第一向量表示与第二向量表示,将其输入编码模型,以得到左子串向量表示Vi,k与右子串向量表示Vk+1,j进行组合得到的组合向量表示以及对应的组合概率值
在一些实施例中,编码模型可以包括编码网络,编码网络可以用于接收两个向量表示,输出一个或多个输出向量。例如,编码网络可以接收所述第一向量表示和所述第二向量表示,确定所述第一向量表示对应的第一中间向量表示、所述第二向量表示对应的第二中间向量表示以及至少一个任务向量表示。任务向量表示可以理解为与模型的预测任务相关的向量表示。
在一些实施例中,编码模型还可以包括组合处理网络。组合处理网络可以处理一个或多个任务向量表示,得到用于将第一中间向量表示和第二中间向量表示进行组合的组合权重系数。进一步,组合处理网络可以基于组合权重系数对第一中间向量表示和第二中间向量进行加权求和,得到组合向量表示组合向量表示关于组合处理网络的更多内容可以参见图5及其相关说明。
组合概率预测网络可以包括但不限于:全连接网络、线性层网络、softmax网络等用于处理向量表示得到对应的概率值的网络模块。关于组合概率预测网络的更多内容可以参见图5及其相关说明。
第i个至第j个字符所对应字符串的向量表示Vi,j,可以基于其各分裂方式下对应的至少一个组合向量表示得到。例如,可以基于各分裂方式下对应的至少一个组合向量表示对应的组合概率值对至少一个进行加权求和,得到向量表示Vi,j,权重可以为对应的
进一步的,向量表示Vi,j还可以通过步骤430-步骤450获得。
步骤430,基于各分裂方式下的左子串概率值、右子串概率值以及组合概率值,确定所述字符串在各分裂方式下的第一字符串概率值。
在一些实施例中,步骤430可以由第一概率值计算单元730执行。
字符串在各分裂方式下可以对应不同的字符串概率值,分裂方式对应的字符串概率值可以称为第一字符串概率值。
在各分裂方式下,字符串可以由分裂得到的左子串和右子串组合得到,所以各分裂方式下的第一字符串概率值,与对应的左子串概率值、右子串概率值以及组合概率值有关。进一步的,可以对分裂方式下的左子串概率值、右子串概率值以及组合概率值进行求和后归一化、或进行相乘求乘积等方式,得到该分裂方式对应的第一字符串概率值。
步骤440,基于各分裂方式下的第一字符串概率值获得权重系数。
在一些实施例中,步骤440可以由权重系数计算单元740执行。
第一字符串概率值可以表示对应分裂方式下得到对应的组合向量表示的概率值,即可以基于各分裂方式下的第一字符串概率值确定对应的组合向量表示的权重系数。
在一些实施例中,可以通过对各分裂方式下的第一字符串概率值进行归一化处理,以使得各分裂方式下的第一字符串概率值的和为1,进而将归一化后的第一字符串概率值作为对应分裂方式下的权重系数。在一些实施例中,可以通过Straight-ThroughGumbel-Softmax模型实现对各分裂方式下的第一字符串概率值的归一化处理。
步骤450,基于所述权重系数对各分裂方式下的组合向量表示进行加权求和,得到所述字符串的所述向量表示。
在一些实施例中,步骤450可以由字符串向量表示获取单元750执行。
步骤460,基于所述权重系数对各分裂方式下的第一字符串概率值进行加权求和,得到所述字符串的字符串概率值。
在一些实施例中,步骤460可以由字符串概率值获取单元760执行。
字符串的字符串概率值是指基于各种向量表示的组合得到该字符串的向量表示的概率。字符串的字符串概率值(如左子串概率值、右子串概率值)可以对各分裂方式下的第一字符串概率值进行加权求和得到,在加权求和时,各分裂方式下的第一字符串概率值乘上对应的权重系数。
通过一次处理,可以实现基于各种Vi,k和Vk+1,j的组合方式,确定得到向量表示Vi,j。不难理解,步骤410提到的左子串向量表示以及左子串概率值,右子串向量表示以及右子串概率值均可以通过类似方法400的流程处理得到。在一些实施例中,可以基于方法400从图3B所示的三角矩阵(或金字塔)的顶层开始向下逐次递归处理,得到文本对应的向量表示V1,7。也可以从图3B所示的金字塔底层开始向上逐次处理时,得到文本对应的向量表示V1,7。
不难看出,在得到文本向量表示V1,7的同时,通过本实施例的编码方法,可以得到文本中两个或以上连续字符组成的字符串的向量表示Vi,j,考虑到了文本中各个字符和字符串的组合情况,令编码过程更加高效和准确,也令得到的文本的多个向量表示可以反映句法结构信息,得到的文本的向量表示用于其他自然语言处理任务(NLP)时,也能令NLP任务的文本预测、文本处理等更加准确,效果更好。
图5是根据本说明书一些实施例所示的一种编码模型的示意图。
如图5所示,编码模型可以包括:编码网络510、组合处理网络520和组合概率预测网络530。
编码网络510可以用于基于第一向量表示和第二向量表示,确定所述第一向量表示对应的第一中间向量表示、所述第二向量表示对应的第二中间向量表示以及至少一个任务向量表示。第一向量表示和第二向量表示可以是根据编码任务需求确定的不同的2个向量表示,可以对应2个不同的字符串,例如上文向量表示和下文向量表示,又例如左字串向量表示和右字串向量表示。编码网络可以包括但不限于LSTM网络、Transformer等网络模块。
在一些实施例中,这里的编码网络可以采用Transformer网络模块,编码网络可以包括至少一个Transformer层,例如3个或4个连接的Transformer层。将第一向量表示和第二向量表示(如Vi,k和Vk+1,j)作为至少一个Transformer层的输入。进一步的,还可以在第一向量表示和第二向量表示上分别叠加对应的角色向量表示作为至少一个Transformer层的输入,例如第一向量表示可以叠加角色向量表示[1],第二向量表示可以叠加角色向量表示[2]。进一步的,还可以确定用于表示编码任务或其他基于编码网络输出进行任务(如组合概率预测任务)的标识,例如[CLS]、[SUM]等,并将其一起作为至少一个Transformer层的输入。基于前述输入,至少一个Transformer层可以输出第一向量表示对应的第一中间向量表示、所述第二向量表示对应的第二中间向量表示以及至少一个任务向量表示(如编码任务对应的任务向量表示、组合概率预测任务对应的任务向量表示)。
组合处理网络520可以用于基于一个或多个任务向量表示确定组合权重系数;以及基于所述组合权重系数、所述第一中间向量表示和所述第二中间向量表示确定所述组合向量表示。
组合处理网络520可以包括但不限于全连接网络模块、线性层网络模块、softmax网络模块等用于处理向量表示得到对应的权重系数的网络模块。
组合概率预测网络530可以用于基于一个或多个任务向量表示确定与所述组合向量表示对应的组合概率值。进一步的,组合概率预测网络530可以基于组合概率预测任务对应的任务向量表示,确定Vi,k和Vk+1,j对应的组合概率值
组合概率预测网络可以包括但不限于:全连接网络模块、线性层网络模块、softmax网络模块等用于处理向量表示得到对应的概率值的网络模块。
通过本实施例的编码模型,可以实现直接基于2个不同的字符串的向量表示(如上文向量表示和下文向量表示、左字串向量表示和右字串向量表示)确定2个不同的字符串组合得到的字符串对应的向量表示Vi,j,令编码过程更加高效,也令通过编码模型得到的文本的多个向量表示可以反映句法结构信息,得到的文本的向量表示用于其他自然语言处理任务(NLP)时,也能令NLP任务的文本预测、文本处理等更加准确,效果更好。
图6是根据本说明书一些实施例所示的一种编码网络的训练的系统的框图。
在一些实施例中,编码网络的训练的系统600可以实现于处理设备上,其可以包括获取模块610、片段确定模块620、向量表示获取模块630、预测模块640和参数更新模块650。
在一些实施例中,获取模块610可以用于获取训练文本。
在一些实施例中,片段确定模块620可以用于确定所述训练文本中的遮罩片段,所述遮罩片段包括单个字符或连续的两个以上字符。
在一些实施例中,向量表示获取模块630可以用于通过编码模型确定所述训练文本中的遮罩片段的上文向量表示和下文向量表示.
在一些实施例中,预测模块640可以用于基于所述上文向量表示和所述下文向量表示,通过预测模型确定所述遮罩片段中各字符对应的出现概率。
在一些实施例中,参数更新模块650可以用于基于所述出现概率确定损失函数,基于所述损失函数更新所述编码模型和所述预测模型的参数;其中,所述编码模型以及所述预测模型分别具有编码网络,且共享编码网络的参数。
图7是根据本说明书一些实施例所示的一种文本编码系统的框图。
在一些实施例中,文本编码系统700可以实现于处理设备上。
在一些实施例中,文本编码系统700可以用于基于所述文本的字符向量序列,通过编码模型进行多次处理以获得所述文本中两个或以上连续字符组成的字符串的向量表示,所述编码模型用于接收第一向量表示与第二向量表示,输出组合向量表示及组合概率值。
在一些实施例中,文本编码系统700可以包括获取单元710、组合单元720、第一概率值计算单元730、权重系数计算单元740、字符串向量表示获取单元750以及字符串概率值获取单元760。
在一些实施例中,获取单元710可以用于获取字符串在一种或以上分裂方式下的左子串向量表示、左子串概率值、右子串向量表示以及右子串概率值。
在一些实施例中,组合单元720可以用于利用所述编码模型处理各分裂方式下的左子串向量表示与右子串向量表示,获得所述字符串在各分裂方式下的组合向量表示以及组合概率值。
在一些实施例中,第一概率值计算单元730可以用于基于各分裂方式下的左子串概率值、右子串概率值以及组合概率值,确定所述字符串在各分裂方式下的第一字符串概率值。
在一些实施例中,权重系数计算单元740可以用于基于各分裂方式下的第一字符串概率值获得权重系数。
在一些实施例中,字符串向量表示获取单元750可以用于基于所述权重系数对各分裂方式下的组合向量表示进行加权求和,得到所述字符串的所述向量表示。
在一些实施例中,字符串概率值获取单元760可以用于基于所述权重系数对各分裂方式下的第一字符串概率值进行加权求和,得到所述字符串的字符串概率值。
应当理解,所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。
本说明书实施例还提供一种编码网络的训练的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现所述的编码网络的训练方法。
本说明书实施例还提供一种文本编码装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现所述的文本编码方法。
本说明书实施例可能带来的有益效果包括但不限于:本发明中,通过提出的编码网络训练方法,实现基于通用的出现概率预测任务对编码网络进行训练,训练得到的编码网络能够学习到文本的句法结构,其可以作为语言学基础模型处理文本得到更加准确的特征表示;(2)在本发明中,通过提出的编码方法,可以得到文本的向量表示Vi,j,考虑到了文本中各个字符和字符串的组合情况,令编码过程更加高效和准确,也令得到的文本的多个向量表示可以反映句法结构信息,得到的文本的向量表示用于其他自然语言处理任务(NLP)时,也能令NLP任务的文本预测、文本处理等更加准确,效果更好;(3)在本发明中,通过提出的编码模型,可以实现直接基于2个不同的字符串的向量表示(如上文向量表示和下文向量表示、左字串向量表示和右字串向量表示)确定2个不同的字符串组合得到的字符串对应的向量表示Vi,j,令编码过程更加高效,也令通过编码模型得到的文本的多个向量表示可以反映句法结构信息。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (15)
1.一种编码网络的训练方法,包括:
获取训练文本;
确定所述训练文本中的遮罩片段,所述遮罩片段包括单个字符或连续的两个以上字符;
通过编码模型确定所述训练文本中的遮罩片段的上文向量表示和下文向量表示;
基于所述上文向量表示和所述下文向量表示,通过预测模型确定所述遮罩片段中各字符对应的出现概率;
基于包含出现概率项的损失函数更新所述编码模型和所述预测模型的参数;其中,所述编码模型以及所述预测模型分别具有编码网络,且共享编码网络的参数。
2.如权利要求1所述的方法,所述编码网络用于接收两个向量表示,输出一个或多个输出向量。
3.如权利要求1所述的方法,所述通过编码模型确定所述训练文本中的遮罩片段的上文向量表示和下文向量表示,包括:
基于字符向量序列,通过所述编码模型确定所述训练文本的多个向量表示;所述多个向量表示分别对应于所述训练文本中两个或以上连续字符组成的字符串;
从所述多个向量表示中确定所述训练文本中的遮罩片段的上文字符串对应的向量表示,作为所述上文向量表示;
从所述多个向量表示中确定所述训练文本中的遮罩片段的下文字符串对应的向量表示,作为所述下文向量表示。
4.如权利要求3所述的方法,所述编码模型用于接收第一向量表示与第二向量表示,输出组合向量表示及组合概率值;
所述基于所述字符向量序列,通过所述编码模型确定所述训练文本的多个向量表示,包括基于所述字符向量序列,通过所述编码模型进行多次处理以获得所述多个向量表示,其中一次处理包括:
获取字符串在一种或以上分裂方式下的左子串向量表示、左子串概率值、右子串向量表示以及右子串概率值;
利用所述编码模型处理各分裂方式下的左子串向量表示与右子串向量表示,获得所述字符串在各分裂方式下的组合向量表示以及组合概率值;
基于各分裂方式下的左子串概率值、右子串概率值以及组合概率,确定所述字符串在各分裂方式下的第一字符串概率值;
基于各分裂方式下的第一字符串概率值获得权重系数;
基于所述权重系数对各分裂方式下的组合向量表示进行加权求和,得到所述字符串的所述向量表示;
基于所述权重系数对各分裂方式下的第一字符串概率值进行加权求和,得到所述字符串的字符串概率值。
5.如权利要求4所述的方法,所述编码模型包括:
编码网络,用于基于所述第一向量表示和所述第二向量表示,确定所述第一向量表示对应的第一中间向量表示、所述第二向量表示对应的第二中间向量表示以及至少一个任务向量表示;
组合处理网络,用于基于一个或多个任务向量表示确定组合权重系数;以及基于所述组合权重系数、所述第一中间向量表示和所述第二中间向量表示确定所述组合向量表示;
组合概率预测网络,用于基于一个或多个任务向量表示,确定所述组合概率值。
6.如权利要求5所述的方法,所述编码模型还用于接收所述第一向量表示的第一角色表示与所述第二向量表示的第二角色表示;所述编码网络包括至少一个Transformer层。
7.如权利要求1所述的方法,所述基于所述上文向量表示和所述下文向量表示,通过预测模型确定所述遮罩片段中各字符对应的出现概率,包括:
通过预测模型的编码网络处理所述上文向量表示和所述下文向量表示,获得一个或多个预测向量;
通过预测模型的出现概率预测网络处理所述一个或多个预测向量,获得与一个或多个遮罩位置分别对应的一个或多个词表概率向量;所述词表概率向量的各元素分别反映所述词表概率向量对应的遮罩位置出现词表中各字符的概率值;所述一个或多个遮罩位置与所述遮罩片段中各字符一一对应;
从所述一个或多个词表概率向量中分别获取各遮罩位置出现所述遮罩片段中对应字符的概率值,作为所述遮罩片段中各字符对应的出现概率。
8.如权利要求1所述的方法,所述基于包含出现概率项的损失函数更新所述编码模型和所述预测模型的参数,包括:
更新所述编码模型以及所述预测模型的参数,以使得所述遮罩片段中各字符的出现概率最大化。
9.一种编码网络的训练的系统,包括:
获取模块,用于获取训练文本;
片段确定模块,用于确定所述训练文本中的遮罩片段,所述遮罩片段包括单个字符或连续的两个以上字符;
向量表示获取模块,用于通过编码模型确定所述训练文本中的遮罩片段的上文向量表示和下文向量表示;
预测模块,用于基于所述上文向量表示和所述下文向量表示,通过预测模型确定所述遮罩片段中各字符对应的出现概率;
参数更新模块,用于基于包含出现概率项的损失函数更新所述编码模型和所述预测模型的参数;其中,所述编码模型以及所述预测模型分别具有编码网络,且共享编码网络的参数。
10.一种编码网络的训练的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如权利要求1-8任一项所述的方法。
11.一种文本编码方法,包括:基于所述文本的字符向量序列,通过编码模型进行多次处理以获得所述文本中两个或以上连续字符组成的字符串的向量表示,所述编码模型用于接收第一向量表示与第二向量表示,输出组合向量表示及组合概率值;其中一次处理包括:
获取字符串在一种或以上分裂方式下的左子串向量表示、左子串概率值、右子串向量表示以及右子串概率值;
利用所述编码模型处理各分裂方式下的左子串向量表示与右子串向量表示,获得所述字符串在各分裂方式下的组合向量表示以及组合概率值;
基于各分裂方式下的左子串概率值、右子串概率值以及组合概率值,确定所述字符串在各分裂方式下的第一字符串概率值;
基于各分裂方式下的第一字符串概率值获得权重系数;
基于所述权重系数对各分裂方式下的组合向量表示进行加权求和,得到所述字符串的所述向量表示;
基于所述权重系数对各分裂方式下的第一字符串概率值进行加权求和,得到所述字符串的字符串概率值。
12.一种文本编码系统,用于基于所述文本的字符向量序列,通过编码模型进行多次处理以获得所述文本中两个或以上连续字符组成的字符串的向量表示,所述编码模型用于接收第一向量表示与第二向量表示,输出组合向量表示及组合概率值;
所述系统包括获取单元、组合单元、第一概率值计算单元、权重系数计算单元、字符串向量表示获取单元以及字符串概率值获取单元,且在一次处理中:
所述获取单元用于获取字符串在一种或以上分裂方式下的左子串向量表示、左子串概率值、右子串向量表示以及右子串概率值;
所述组合单元用于利用所述编码模型处理各分裂方式下的左子串向量表示与右子串向量表示,获得所述字符串在各分裂方式下的组合向量表示以及组合概率值;
所述第一概率值计算单元用于基于各分裂方式下的左子串概率值、右子串概率值以及组合概率值,确定所述字符串在各分裂方式下的第一字符串概率值;
所述权重系数计算单元用于基于各分裂方式下的第一字符串概率值获得权重系数;
所述字符串向量表示获取单元用于基于所述权重系数对各分裂方式下的组合向量表示进行加权求和,得到所述字符串的所述向量表示;
所述字符串概率值获取单元用于基于所述权重系数对各分裂方式下的第一字符串概率值进行加权求和,得到所述字符串的字符串概率值。
13.一种文本编码装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如权利要求11所述的方法。
14.一种编码模型,包括:
编码网络,用于基于第一向量表示和第二向量表示,确定所述第一向量表示对应的第一中间向量表示、所述第二向量表示对应的第二中间向量表示以及至少一个任务向量表示;
组合处理网络,用于基于一个或多个任务向量表示确定组合权重系数;以及基于所述组合权重系数、所述第一中间向量表示和所述第二中间向量表示确定所述组合向量表示;
组合概率预测网络,用于基于一个或多个任务向量表示,确定与所述组合向量表示对应的组合概率值。
15.如权利要求14所述的编码模型,还用于接收所述第一向量表示的第一角色表示与所述第二向量表示的第二角色表示;所述编码网络包括至少一个Transformer层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110410042.2A CN113095040A (zh) | 2021-04-16 | 2021-04-16 | 一种编码网络的训练方法、文本编码方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110410042.2A CN113095040A (zh) | 2021-04-16 | 2021-04-16 | 一种编码网络的训练方法、文本编码方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113095040A true CN113095040A (zh) | 2021-07-09 |
Family
ID=76678269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110410042.2A Pending CN113095040A (zh) | 2021-04-16 | 2021-04-16 | 一种编码网络的训练方法、文本编码方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113095040A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019144844A (ja) * | 2018-02-20 | 2019-08-29 | 日本電信電話株式会社 | 形態素解析学習装置、形態素解析装置、方法、及びプログラム |
CN110222349A (zh) * | 2019-06-13 | 2019-09-10 | 成都信息工程大学 | 一种深度动态上下文词语表示的模型及方法、计算机 |
CN110941945A (zh) * | 2019-12-02 | 2020-03-31 | 百度在线网络技术(北京)有限公司 | 语言模型预训练方法和装置 |
CN111177324A (zh) * | 2019-12-31 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 基于语音识别结果进行意图分类的方法和装置 |
CN111274789A (zh) * | 2020-02-06 | 2020-06-12 | 支付宝(杭州)信息技术有限公司 | 文本预测模型的训练方法及装置 |
CN111709248A (zh) * | 2020-05-28 | 2020-09-25 | 北京百度网讯科技有限公司 | 文本生成模型的训练方法、装置及电子设备 |
CN112560501A (zh) * | 2020-12-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 语义特征的生成方法、模型训练方法、装置、设备及介质 |
-
2021
- 2021-04-16 CN CN202110410042.2A patent/CN113095040A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019144844A (ja) * | 2018-02-20 | 2019-08-29 | 日本電信電話株式会社 | 形態素解析学習装置、形態素解析装置、方法、及びプログラム |
CN110222349A (zh) * | 2019-06-13 | 2019-09-10 | 成都信息工程大学 | 一种深度动态上下文词语表示的模型及方法、计算机 |
CN110941945A (zh) * | 2019-12-02 | 2020-03-31 | 百度在线网络技术(北京)有限公司 | 语言模型预训练方法和装置 |
CN111177324A (zh) * | 2019-12-31 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 基于语音识别结果进行意图分类的方法和装置 |
CN111274789A (zh) * | 2020-02-06 | 2020-06-12 | 支付宝(杭州)信息技术有限公司 | 文本预测模型的训练方法及装置 |
CN111709248A (zh) * | 2020-05-28 | 2020-09-25 | 北京百度网讯科技有限公司 | 文本生成模型的训练方法、装置及电子设备 |
CN112560501A (zh) * | 2020-12-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 语义特征的生成方法、模型训练方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
JEAN MAILLARD 等: "Jointly Learning Sentence Embeddings and Syntax with Unsupervised Tree-LSTMs", ARXIV:1705.09189V1 * |
王天罡;李晓亮;张晓滨;蔡宏伟;: "基于预训练表征模型的自动ICD编码", 中国数字医学, no. 07 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kamath et al. | Deep learning for NLP and speech recognition | |
CN111368996B (zh) | 可传递自然语言表示的重新训练投影网络 | |
CN107783960B (zh) | 用于抽取信息的方法、装置和设备 | |
CN110232114A (zh) | 语句意图识别方法、装置及计算机可读存储介质 | |
CN111881291A (zh) | 一种文本情感分类方法及系统 | |
CN113094578B (zh) | 基于深度学习的内容推荐方法、装置、设备及存储介质 | |
CN110414004B (zh) | 一种核心信息提取的方法和系统 | |
CN110826334B (zh) | 一种基于强化学习的中文命名实体识别模型及其训练方法 | |
CN111145718A (zh) | 一种基于自注意力机制的中文普通话字音转换方法 | |
CN112183106B (zh) | 一种基于音素联想及深度学习的语义理解方法及装置 | |
Markou et al. | Ex Machina Lex: Exploring the Limits of Legal Computability | |
CN117609421A (zh) | 基于大语言模型的电力专业知识智能问答系统构建方法 | |
CN112988970A (zh) | 一种服务于智能问答系统的文本匹配算法 | |
CN115169361A (zh) | 一种情感分析方法及其相关设备 | |
Troxler et al. | Actuarial applications of natural language processing using transformers: Case studies for using text features in an actuarial context | |
CN112579739A (zh) | 基于ELMo嵌入与门控自注意力机制的阅读理解方法 | |
CN115659981A (zh) | 一种基于神经网络模型的命名实体识别方法 | |
CN115545030A (zh) | 实体抽取模型的训练方法、实体关系抽取方法及装置 | |
CN113095040A (zh) | 一种编码网络的训练方法、文本编码方法和系统 | |
CN111522957A (zh) | 一种短语分割模型的训练方法和系统 | |
Das et al. | Role of computational intelligence in natural language processing | |
Xu et al. | Continuous space discriminative language modeling | |
US20240143927A1 (en) | Method for generating summary and system therefor | |
CN114118065B (zh) | 一种电力领域中文文本纠错方法、装置、存储介质及计算设备 | |
CN116882398B (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 |