一种确定文本标签的方法和系统与流程

文档序号:21201239发布日期:2020-06-23 19:20阅读:231来源:国知局
一种确定文本标签的方法和系统与流程

本申请涉及自然语言处理领域,特别涉及一种确定文本标签的方法和系统。



背景技术:

文本标签抽取是自然语言处理(nlp,naturallanguageprocessing)领域的常见任务之一。文本标签抽取具有很高的实用价值,例如,从博客或者新闻中抽取语义标签,可以辅助人工管理和理解文本,又例如,可以给知识文档添加标签,建立多维度知识分类体系等。

因此,希望提供一种能够准确确定文本标签的方法和系统。



技术实现要素:

本说明书一个方面提供一种确定文本标签的方法,所述方法包括:获取文本,所述文本对应至少一个候选标签;基于文本和至少一个候选标签中的一个组成文本标签对;将文本标签对输入判断模型,所述判断模型包含至少一个交互模型,判断模型基于所述交互模型输出的文本标签对中候选标签的交互编码,确定候选标签是否为文本的真实标签;其中,所述交互模型包含第一编码模型,第一编码模型基于第一多头注意力机制,得到候选标签的交互编码;其中:文本的编码作为第一多头注意力机制中计算k和v的输入,候选标签的编码作为第一多头注意力机制中计算q的输入。

本说明书另一个方面提供一种确定文本标签的系统,所述系统包括:文本获取模块,用于获取文本,所述文本对应至少一个候选标签;文本标签对生成模块,用于基于所述文本和所述至少一个候选标签中的一个组成文本标签对;判断模块,用于将所述文本标签对输入判断模型,所述判断模型包含至少一个交互模型,所述判断模型基于所述交互模型输出的所述文本标签对中候选标签的交互编码,确定所述候选标签是否为所述文本的真实标签;其中,所述判断模块包括交互模块,用于所述交互模型包含第一编码模型,所述交互模块包括第一编码模块,用于所述第一编码模型基于第一多头注意力机制,得到所述候选标签的交互编码;其中:所述文本的编码作为所述第一多头注意力机制中计算k和v的输入,所述候选标签的编码作为所述第一多头注意力机制中计算q的输入。

本说明书另一个方面提供一种确定文本标签的装置,包括至少一个存储介质和至少一个处理器;所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现确定文本标签的方法。

附图说明

本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本说明书一些实施例所示的示例性确定文本标签的系统的应用场景示意图;

图2是根据本说明书一些实施例所示的确定文本标签的方法的示例性流程图;

图3是根据本说明书一些实施例所示的示例性交互模型确定候选标签的交互编码的示意图;

图4是根据本说明书一些实施例所示的n个交互模型的示意图。

具体实施方式

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

图1是根据本说明书一些实施例所示的示例性确定文本标签系统的应用场景示意图。如图1所示,本说明书所涉及的应用场景可以包括第一计算系统130和/或第二计算系统160。

第一计算机系统130可以用于为文本确定具有代表性的标签。例如,第一计算机系统130可以自动为博客、新闻和资讯确定语义标签,辅助用户管理和理解长文本。又例如,第一计算机系统130可以为知识文档确定标签,建立知识多维度分类体系。

第一计算系统130可以获取待分析数据120,待分析数据120包含待分析的文本和待分析文本的候选标签。待分析数据120可以通过终端110获取。待分析数据120可以通过各种常见的方式进入第一计算系统130。通过第一计算系统130中的模型132,可以输出判别结果140,判断候选标签是否是可以代表待分析文本的真实标签。

模型132的参数可以通过训练得到。第二计算系统160可以获取多组训练样本150,每组训练样本包含文本及文本的候选标签,第二计算系统160通过多组训练样本150更新模型162的参数,得到训练好的模型。模型132的参数来自于训练好的模型162。其中,参数可以以任何常见的方式传递。

模型(例如,模型132或/和模型162)可以指基于处理设备而进行的若干方法的集合。这些方法可以包括大量的参数。在执行模型时,所使用的参数可以是被预先设置好的,也可以是可以动态调整的。一些参数可以通过训练的方法获得,一些参数可以在执行的过程中获得。关于本说明书中涉及模型的具体说明,可参见本说明书的相关部分。

第一计算系统130和第二计算系统160可以相同也可以不同。第一计算系统130和第二计算系统160是指具有计算能力的系统,可以包括各种计算机,比如服务器、个人计算机,也可以是由多台计算机以各种结构连接组成的计算平台。

第一计算系统130和第二计算系统160中可以包括处理设备,处理设备可以执行程序指令。处理设备可以包括各种常见的通用中央处理器(centralprocessingunit,cpu),图形处理器(graphicsprocessingunit,gpu),微处理器,特殊应用集成电路(application-specificintegratedcircuit,asic),或其他类型的集成电路。

第一计算系统130和第二计算系统160中可以包括存储介质,存储介质可以存储指令,也可以存储数据。存储介质可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(rom)等或其任意组合。

第一计算系统130和第二计算系统160还可以包括用于内部连接和与外部连接的网络。也可以包括用于输入或输出的终端110。网络可以是有线网络或无线网络中的任意一种或多种。终端110可以包括各类具有信息接收和/或发送功能的设备,如手机110-1、平板电脑110-2、计算机110-3、文字扫描设备(未示出)、显示设备(未示出)、打印机(未示出)等。

关于文本、候选标签和判断模型的更多细节参见图2-图4,此处不再赘述。

在一些实施例中,该系统100(例如,第一计算系统130或第二计算系统160)中可以包括文本获取模块、文本标签对获取模块以及判断模块。

文本获取模块,可以用于获取文本,所述文本对应至少一个候选标签。更多细节可以参见步骤210,此处不再赘述。

文本标签对生成模块,可以用于基于所述文本和所述至少一个候选标签中的一个组成文本标签对。更多细节可以参见步骤220,此处不再赘述。

判断模块,可以用于将所述文本标签对输入判断模型162,所述判断模型162包含至少一个交互模型,所述判断模型161基于所述交互模型输出的所述文本标签对中候选标签的交互编码,确定所述候选标签是否为所述文本的真实标签。在一些实施例中,所述判断模块可以包括交互模块,用于所述交互模型包含第一编码模型,所述交互模块包括第一编码模块,用于所述第一编码模型基于第一多头注意力机制,得到所述候选标签的交互编码;其中:所述文本的编码作为所述第一多头注意力机制中计算k和v的输入,所述候选标签的编码作为所述第一多头注意力机制中计算q的输入。更多细节可以参见步骤230,此处不再赘述。

在一些实施例中,所述交互模型还包括第二编码模型和第三编码模型。所述判断模型还用于:所述第二编码模型对所述文本进行编码,得到所述文本的编码;所述第三编码模型对所述候选标签进行编码,得到所述候选标签的编码。在一些实施例中,所述判断模块还用于:所述第二编码模型基于第二多头注意力机制对所述文本进行编码;所述第三编码模块可以用于所述第三编码模型基于第三多头注意力机制对所述候选标签进行编码。在一些实施例中,所述第一编码模型和所述第二编码模型还包括前馈神经网络。在一些实施例中,所述第一编码模型、第二编码模型和第三编码模型还包括残差网络。更多细节可以参见步骤310和步骤320,此处不再赘述。

在一些实施例中,所述判断模型还包括聚合模型和分类模型,所述判断模块还用于:所述分类模型基于所述聚合模型输出的所述文本标签对中候选标签的特征向量,确定所述候选标签是否为所述文本的真实标签;其中,所述聚合模型对所述候选标签中每个字对应的交互编码进行处理,得到所述候选标签的特征向量;所述候选标签中每个字对应的交互编码来源于所述候选标签的交互编码。

在一些实施例中,所述判断模块还用于:所述聚合模型可以基于第四多头注意力机制确定所述候选标签的特征向量,其中,以所述候选标签的交互编码作为所述第四多头注意力机制计算k和v的输入,以所述第四注意力机制的权重参数作为所述第四多个注意力机制计算q的输入。更多细节可以参见步骤230,此处不再赘述。

在一些实施例中,当所述交互模型为n个时,第t-1个交互模型中第二编码模型的输出为第t个交互模型中第二编码模型的输入;第t-1个交互模型中第一编码模型的输出为第t个交互模型中第三编码模型的输入;其中,,n为大于1的整数。更多细节可以参见图4相关描述,此处不再赘述。

图2是根据本说明书一些实施例所示的确定文本标签的方法的示例性流程图。如图2所示,该确定文本标签的方法200可以包括:

步骤210,获取文本,所述文本对应至少一个候选标签。具体地,该步骤210可以由文本获取模块执行。

文本可以是指自然语言形式的文本。文本可以是由一个或多个自然语言形式的词组成,文本可以是词、词组、句子或段落等。

标签可以用于表示文本的某种信息。在一些实施例中,标签用于表示文本涵盖的信息类别。可以理解,一个文本可以包含多个标签,每个标签代表该文本不同方面或不同程度的信息。在一些实施例中,标签可以由词或多个词(即,词组)表示。例如,文本“支付宝是一款很方便的线上支付产品”,标签还可以是【评价】,代表该文本是对产品或支付宝的评价;标签可以是【积极】,表示该文本是对“支付宝”的正面评价;标签还可以是【支付宝】,代表该文本是与“支付宝”相关的文本。

候选标签是指文本可能含有的标签,但并非一定是该文本真正的标签。可以理解,一个文本可以对应一个或多个候选标签。例如,文本“支付宝是一款很方便的线上支付产品”,候选标签可能是【评价】、【积极】、【消极】、【支付宝】,但其真实标签为【评价】、【积极】、【支付宝】。在一些实施例中,文本的候选标签可以提前准备好,例如,存储在系统100的存储器中。

在一些实施例中,所述文本对应的候选标签可以由人工标注获取,也可以通过外部输入、存储数据读取、调用相关接口或其他方式获取。

步骤220,基于所述文本和所述至少一个候选标签中的一个组成文本标签对。具体地,该步骤220可以由文本标签对生成模块执行。

文本标签对可以是由一个文本与该文本的一个候选标签组成。

可以理解,若文本的候选标签有多个时,则可以得到多个文本标签对,例如,某文本的候选标签有m个,则可以生成m个文本标签对。

步骤230,基于所述文本标签对,通过输入判断模型确定所述候选标签是否为所述文本的真实标签。具体地,该步骤230可以由判断模块执行。

在一些实施例中,判断模型132可以是机器学习模型,输入为文本标签对,输出为文本标签对中的候选标签是否为文本的真实标签。可以理解,每输入一个文本标签对,判断模型132可以判断文本是否包含文本标签对中的候选标签。示例的,一个文本分别和m个候选标签可以组成m个文本标签对,将该m个文本标签对分别对输入判断模型,可以确定m个候选标签中的每一个是否为文本的真实标签。换言之,通过二分类的方式确定多个候选标签是否为文本的真实标签。

如图2所示,判断模型132包括交互模型132-1、聚合模型132-2和分类模型132-3,其中,每一个模型的输出作为下一个模型的输入。例如,交互模型132-1的输出为聚合模型132-2的输入,聚合模型132-2的输出为分类模型132-3的输入。其中,交互模型132-1由n个交互模型构成,即,交互模型1、交互模型2……关于n个交互模型之间的连接关系400见图4及其相关描述,此处不再赘述。

在一些实施例中,交互模型132-1可以对文本和候选标签进行交互编码。具体的,交互模型132-1的输入可以是文本标签对,输出可以是文本标签对中候选标签的交互编码。其中,该交互编码是通过注意力机制对文本的编码和候选标签的编码进行处理得到。具体的,首先确定文本中每个字或词对候选标签中每个字或词的注意力大小,然后基于文本中每个字或词的向量和注意力大小,确定候选标签中的每个字或词的向量,其中,注意力大小可以理解为权重,权重越大,注意力越大。在一些实施例中,可以通过字与字(或词与词)之间的关联性确定注意力大小,例如,字所属的词之间的相似性等;又例如,字所属的词之间是否属于同级或上下级业务关系等。

例如,文本“蚂蚁花呗是一款很方便的线上产品”,在候选标签【积极】的交互编码时,“很”、“方”和“便”的注意力比其他字更大,进一步的,在确定交互编码时,“很”、“方”和“便”的编码的作用更大;在候选标签【支付宝】的交互编码时,“蚂”、“蚁”、“花”、“呗”的注意力比其他字更大,进一步的,在确定交互编码时,“蚂”、“蚁”、“花”和“呗”的编码的作用更大。

由上述可知,候选标签的交互编码是基于候选标签与文本之间的关系确定。可以理解,相比于候选标签的编码,候选标签的交互编码包含了候选标签更深层次的信息,反映了文本和候选标签的关系信息。关于文本的编码、候选标签的编码,以及基于交互模型确定候选标签的交互编码的更多描述可以参见图3的相关说明,此处不再赘述。

候选标签的交互编码可以是与候选标签的序列对应的信息序列,例如,序列可以是向量、矩阵或其他形式。在一些实施例中,候选标签的交互编码的序列大小由候选标签的词向量维度和候选标签长度确定。例如,候选标签的交互编码,其中n为候选标签的长度,为m维向量,且m为候选标签的词向量维度。关于候选标签的词向量的更多描述可以参见图3的相关说明,此处不再赘述。

一些实施例中,候选标签的长度通过其包含的字的个数确定,例如,字的个数为长度的大小。在一些实施例中,候选标签的交互编码是由候选标签中每个字的交互编码构成,可以理解,代表候选标签中第一个字的交互编码,代表候选标签中第n个字的交互编码。其中,每个字的交互编码是文本中的所有字对于基于该字注意力大小确定。例如,文本中的字a对于候选标签中字a的注意力大于文本中的字b对于候选标签中字a的注意力,则在确定字a的交互编码时,a的权重越大,即,越重要。可以理解,每个字的交互编码涵盖了该字与文本中字的关系。

文本是否包含某个候选标签往往是由某个字、词或词组决定,例如,“蚂蚁花呗是一款很方便的线上支付产品,可以随时买衣服”,在确定候选标签【支付宝】是不是该文本的真实标签时,是根据文本中是否含有关于【支付宝】相关信息的字、词或词组,如“支付宝”、“蚂蚁花呗”、“网络支付”“线上支付”等,因此,该文本中“蚂蚁花呗”和“线上支付产品”属于判断【支付宝】是不是该文本的真实标签的关键信息,而“买衣服”等其他内容可能会导致判断的不准确,如,因为【支付宝】不属于购物类的程序,可能错误判断【支付宝】不是该文本的真实标签。

本实施例通过交互模型获取候选标签的交互编码,该交互编码可以反映文本与候选标签关系信息,与候选标签中的字无关或者关系较小的字的信息在该交互编码中占的权重较低甚至为0,从而,减少了影响后续判断的噪声,提高了判断模型在基于该交互编码确定候选标签是否为文本的真实标签时判断的准确率。

判断模型132可以根据文本标签对中候选标签的交互编码,确定候选标签是否为文本的真实标签。在一些实施例中,如图2所示,判断模型132可以通过聚合模型132-2和分类模型132-3,确定候选标签是否为文本的真实标签。

聚合模型132-2可以用于对交互模型132-1输出的候选标签的交互编码进行处理,得到候选标签的特征向量。通过该处理过程,聚合模型可以对候选标签的交互编码进行进一步的转换,例如,将候选标签的交互编码转换成固定长度的向量等。

在一些实施例中,聚合模型132-2可以对候选标签中每个字对应的交互编码进行处理,得到候选标签的特征向量。在一些实施例中,聚合模型可以是多头注意力机制(称为第四多头注意力机制),第四多头注意力机制可以基于候选标签的交互编码和聚合模型的权重参数对候选标签中每个字进行处理,得到候选标签的特征向量。

在一些实施例中,可以以候选标签的交互编码作为第四多头注意力机制计算键变量k和值变量v的输入,以第四注意力机制的权重参数作为第四多头注意力机制计算查询变量q的输入。

训练好的聚合模型(即,第四多头注意力机制)的参数包含3种权重参数,分别为用于计算k、q和v的权重参数,其中,多头注意力机制中第i个自注意力包含3个权重参数。在一些实施例中,可以将权重参数中的权重参数直接作为q。

在一些实施例中,可以基于注意力机制的常用算法,确定候选标签的特征向量。示例的,对于第i个自注意力,基于交互编码与运算(例如,相乘)得到,交互编码与运算(例如,相乘)得到,将作为;然后对进行交互运算,得到向量;最后将多头注意力机制中所有自注意力的向量进行运算(例如,拼接等),得到候选标签的特征向量。

如前所述,交互编码是由候选标签中的字的交互编码构成,因此,通过多头注意力机制对交互编码的进行转换时,将第四多头注意力机制中的权重参数作为q,可以对候选标签中每个字赋予权重,进一步转化得到的特征向量可以包含候选标签中每个字的重要性,从而可以强化候选标签与文本的关系,例如,候选标签中某个字是否出现在文本中,权重可能更大等。

在一些实施例中,聚合模型还可以基于预设算法(比如平均、求和)、长短记忆循环神经网络(longshort-termmemory,lstm)、双向长短记忆循环神经网络(bi-directionallongshort-termmemory,bi-lstm)等方式确定候选标签的特征向量。

聚合模型并非判断模型必须包括的内容。例如,可以通过填空的方法解决长度不确定的问题。但是,通过在判断模型中包括聚合模型,可以通过基于更多参数的转换,进一步突出对结果重要的信息,使后续的判断结果更准确。在一些实施例中,分类模型132-3可以用于基于聚合模型输出的特征向量,确定候选标签是否为文本的真实标签。

在一些实施例中,分类模型可以为逻辑回归模型。具体地,分类模型先基于线性(linear)层将候选标签的特征向量转换为一个数值,再通过sigmoid函数将数值映射成概率,最后通过比较概率和阈值确定候选标签是否为文本的真实标签。

在一些实施例中,分类模型还可以为神经网络模型,或者其他支持联合训练的模型。

在一些实施例中,判断模型132可以由以下方式训练得到:通过多个文本及多个文本的候选标签确定多个训练数据,其中,每个训练数据为一个文本及该文本的一个或多个候选标签中的一个组成的文本标签对,训练数据的标识代表文本标签对中的候选标签是否为文本的真实标签。基于多个训练数据,通过端到端的方式对初始判断模型162进行训练,可以生成判断模型162的参数,包括其中各组成部分的参数。训练可以采取常见的方法进行,例如使用交叉熵损失函数,以梯度下降法更新参数等。

图3是根据本说明书一些实施例所示的基于交互模型确定候选标签的交互编码的示例性流程图。

根据图2及其相关描述可知,交互编码的个数可以是一个或多个。如图3所示,每一个交互模型中包含第一编码模型、第二编码模型和第三编码模型。其中,对于每一个交互模型而言,第二编码模型用于得到文本的编码,第三编码模型用于得到候选标签的编码,第一编码模型基于前两个编码模型得到的文本的编码和候选标签的编码,得到候选标签的交互编码。关于候选标签的交互编码的更多细节参见步骤230,关于如何基于第一编码模型的得到候选标签的交互编码见步骤330,此处不再赘述。

将文本标签对输入判断模型中的交互模型之前,可以先分别对文本标签对中文本和候选标签进行向量化,也可以进一步加入位置信息。例如,文本向量化后,加入文本中词之间的先后顺序信息,候选标签向量化后,加入候选标签中词的先后顺序信息。示例的,候选标签为“线上支付”,加入的位置信息可以是“线上”在“支付”之前。

在一些实施例中,处理设备可以预先通过词嵌入模型对文本中的词进行向量化,然后结合文本中词的位置向量,得到文本的词向量。同理,可以得到候选标签的词向量。

在一些实施例中,候选标签的词向量可以对应候选标签中的每个字。例如,候选标签的词向量维度为n×m,n为候选标签中的字个数,m为每个字的词向量的维度。

在一些实施例中,词嵌入模型可以包括但不限于:word2vec模型、词频-逆向文件频率模型(termfrequency–inversedocumentfrequency,tf-idf)或sswe-c(skip-grambasedcombined-sentimentwordembedding)模型等。

在一些实施例中,文本中词的位置向量可以通过正弦位置编码(sinusoidalpositionencoding)、相对位置表达(relativepositionrepresentations)、学习位置编码或其他方法获取。

在一些实施例中,将文本的词向量作为第一个交互模型(交互模型1)中第二编码模型的输入信息,第二编码模型基于输入信息(即,文本的词向量)得到文本的编码;将候选标签的词向量作为第一个交互模型(交互模型1)中第三编码模型的输入信息,第三编码模型基于输入信息(即,候选标签的词向量)得到候选标签的编码。

如图4所示的n个交互模型之间的连接关系400,第t-1个交互模型中第二编码模型的输出为第t个交互模型中第二编码模型的输入;第t-1个交互模型中第一编码模型的输出为第t个交互模型中第三编码模型的输入;其中,,n为大于1的整数。优选地,n可以为12。其中,将第t-1个交互模型中第二编码模型输出的文本的编码称为第t-1个文本的编码,将第t-1个交互模型中第三编码模型输出的候选标签的编码称为第t-1个候选标签的编码;将第t-1个交互模型中第一编码模型输出的候选标签的交互编码称为第t-1个候选标签的交互编码。

可以理解,第t-1个文本的编码作为第t个交互模型中第二编码模型的输入信息,第t个交互模型中第二编码模型基于输入信息对文本进行编码,得到第t个文本的编码;第t-1个候选标签的交互编码作为第t个交互模型中第三编码模型的输入信息,第t个交互模型中第三编码模型基于输入信息再次对候选标签进行编码,得到第t个候选标签的编码。

进一步,第t个交互模型中第一编码模型以第t个文本的编码作为第一多头注意力机制计算k和v的输入,以第t个候选标签的编码作为计算q的输入,得到第t个候选标签的交互编码。将多个交互编码中最后一个交互编码(交互编码n)输出的交互编码作为聚合模型的输入,进一步确定候选标签是否为文本的真实标签。关于第一多头注意力机制如何对输入的文本的编码和候选标签的编码,确定候选标签的交互编码见步骤330,此处不再赘述。

根据图2中关于交互编码的说明,交互编码可以去除判断的噪声,可以理解,当交互模型为多个时,每经过一个交互模型,可以深化交互编码中涵盖的候选标签与文本之间的关系信息。换言之,在多次交互过程中,可以逐渐剔除判断文本是否包含某个候选标签的无关噪声信息,保留有利于判断的信息,进一步使判断结果更精确。

基于交互模型确定候选标签的交互编码300具体可以包括:

步骤310,第二编码模型对所述文本进行编码,得到所述文本的编码。具体地,该步骤310可以由判断模块执行。

如图3所示,在一些实施例中,第二编码模型20可以包括第二多头注意力机制21。

在一些实施例中,第二多头注意力机制21可以对输入信息进行编码,得到文本的编码。如前所述,对于第一个交互编码(交互编码1)而言,第二编码模型的输入信息为文本的词向量,对于其他交互模型而言,第二编码模型的输入信息为上一个交互模型中第二编码模型输出的文本的编码。

在一些实施例中,可以将输入的信息作为第二多头注意力机制计算q、k和v的输入。在一些实施例中,第二多头注意力机制可以通过常见的注意力机制算法实现,其参数可以通过判断模型通过端到端的训练获得。

例如,第二多头注意力机制对文本的词向量的算法可以包括:对于第二多头注意力机制中的第i个自注意力,基于输入的信息与运算(例如,相乘)得到,基于输入的信息与运算(例如,相乘)得到,基于输入的信息与运算(例如,相乘)得到;然后对进行交互运算,得到向量;最后将多头注意力机制中所有自注意力的向量运算(例如,拼接),得到文本的编码。

在一些实施例中,第二编码模型20还可以包括残差网络(22和/或24)或/和前馈神经网络23。

在一些实施例中,残差网络22可以对第二多头注意力机制的输入和输出进行处理,例如,求和、加权求和等。通过该处理,可以避免文本的编码丢失文本原本的信息。

在一些实施例中,还可以对残差网络22处理后的文本的编码进行归一化,即统一编码中元素的数量级。在一些实施例中,归一化的方法可以包括但不限于:最大最小归一化(min-maxnormalization)、均值归一化(meannormalization)、l2范数归一化或反正切函数归一化等。

在一些实施例中,前馈神经网络23可以对归一化后的文本的编码进行非线性变换。前馈神经网络可以是简单的多层神经网络,每一层神经网络都定义了一个非线性映射,并将映射结果作为下一层神经网络非线性映射的输入。

在一些实施例中,与残差网络22类似,残差网络24可以对前馈神经网络层的输入和输出进行处理,例如,求和、加权求和等。

在一些实施例中,还可以对文本编码进行归一化。归一化的详细描述参见第一残差向量的归一化,在此不再赘述。

步骤320,第三编码模型对所述候选标签进行编码,得到所述候选标签的编码。具体地,该步骤320可以由判断模块执行。

如图3所示,在一些实施例中,第三编码模型30可以包括第三多头注意力机制31。

在一些实施例中,第三多头注意力机制31可以对输入信息进行编码,得到候选标签的编码。如前所述,对于第一交互模型(交互模型1)的输入信息为候选标签的词向量,对于其他交互模型而言,第三编码模型的输入信息为上一个交互模型中第一编码模型输出的候选标签的交互编码。

在一些实施例中,输入信息可以作为第三多头注意力机制计算q、k和v的输入。第三注意力机制与第二多头注意力机制的算法类似,具体可以参见步骤310,在此不再赘述。

在一些实施例中,第三编码模型30还可以包括残差网络32。

在一些实施例中,残差网络32可以对第三多头注意力机制的输入和输出进行处理,例如,求和、加权求和等。残差网络的详细描述可以参见步骤310,在此不再赘述。

在一些实施例中,还可以对候选标签的编码进行归一化。归一化的详细描述可以参见步骤310,在此不再赘述。

在一些实施例中,第二编码模型20和/或第三编码模型30也可以是长短记忆循环神经网络(longshort-termmemory,lstm)模型、双向长短记忆循环神经网络(bi-directionallongshort-termmemory,bi-lstm)模型、elmo(embeddingfromlanguagemodels)模型、gpt(generativepre-traxining)模型或bert(bidirectionalencoderrepresentationfromtransformers)模型等。

第二编码模型和第三编码模型通过多头注意力机制实现编码,可以使得输入信息经过转换后更好地体现信息内部的关系。

步骤330,第一编码模型基于第一多头注意力机制,得到所述候选标签的交互编码;其中:所述文本的编码作为所述第一多头注意力机制中计算k和v的输入,所述候选标签的编码作为所述第一多头注意力机制中计算q的输入。具体地,该步骤330可以由判断模块执行。

如图3所示,在一些实施例中,第一编码模型10包括第一多头注意力机制11。

在一些实施例中,第一多头注意力机制11可以基于第二编码模型的输出(即文本的编码)和第三编码模型的输出(即候选标签的编码),得到候选标签的交互编码。示例的,对于第t个交互模型,第一多头注意力机制11可以基于第t个文本的编码和第t个候选标签的编码,得到第t个候选标签的交互编码。

在一些实施例中,第一多头注意力机制11可以通过常见的注意力机制算法实现,其参数可以通过判断模型通过端到端的训练获得,其中,参数包含

在一些实施例中,文本的编码作为所述第一多头注意力机制中计算k和v的输入,候选标签的编码作为第一多头注意力机制中计算q的输入。进一步的,通过q、k、v的交互运算得到候选标签的交互编码。示例的,对于第t个交互模型,第t个文本的编码作为计算k和v的输入,第t个候选标签的编码作为计算q的输入。

在一些实施例中,q、k和v之间的相互运算过程可以是通过公式(1)实现:

(1)

其中,代表候选标签的编码,代表文本的编码,为用于归一化的系数,例如,可以是为k的维度。

例如,文本为“蚂蚁花呗是一款很方便的线上支付产品”,候选标签为【支付宝】,词嵌入确定词向量中的维度为100,则为3*100的矩阵(3代表候选标签长度,例如字数为3),k和v为15*100的矩阵(15代表文本长度,例如字数为15),通过,得到3*15矩阵m,该矩阵中元素mij代表文本中第j个字对候选标签中第i个字的注意力大小。进一步的,再将m与v相乘,得到3*100的交互编码。该交互编码中第i行为候选标签中第i个字的交互编码,第i个字的交互编码是基于文本中每个字对该字的注意力大小和每个字的编码得到的。

第一多头注意力机制中包含多个自注意力,对于第i个自注意力而言,其训练得到的参数包括,将文本的编码与运算(例如,相乘)得到,将候选标签的编码与运算(例如,相乘)得到,再对进行交互运算得到向量。进一步的,在一些实施例中,在处理(例如,拼接等)所有自注意力向量得到候选标签的交互编码。

如图3所示,第一编码模型10还可以包括残差网络(12和14)、前馈神经网络(13)。

在一些实施例中,残差网络12可以对第一多头注意力机制的输入(文本的编码和候选标签的编码)和输出(候选标签的交互向量)进行处理,例如,求和、加权求和等。残差网络的详细描述可以参见步骤310,在此不再赘述。

在一些实施例中,可以对第二残差向量进行归一化。归一化的详细描述可以参见步骤310,在此不再赘述。

在一些实施例中,前馈神经网络13可以对归一化后的候选标签的交互编码进行非线性变换。前馈神经网络的相关描述可以参见步骤330,在此不再赘述。

在一些实施例中,残差网络14可以对前馈神经网络层的输入和输出进行处理,例如,求和、加权求和等。残差网络14的详细描述可以参见步骤310,在此不再赘述。

在一些实施例中,还可以对候选标签的交互编码进行归一化。归一化的详细描述可以参见步骤310,在此不再赘述。

如前所述,通过第一多头注意力机制确定候选标签的交互编码时,以候选标签的编码作为计算q的输入,文本的编码作为计算k和v的输入,从而得到的候选标签的交互编码中包含了候选标签与文本之间的关系信息,例如,文本中是否含有与候选标签相近含义的词等,从而可以保证判断模型判断候选标签是否为文本真实标签的准确率。

本说明书实施例还提供一种计算机可读存储介质。所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机实现前述的短语分割模型的训练方法。所述方法可以包括:基于公共知识库获取至少一个目标短语,目标短语包含至少两个词;基于目标短语从公共知识库中获取至少一个第一文本,第一文本包含目标短语;基于第一文本获取非目标短语,非目标短语为第一文本的一部分,且不同于目标短语;将目标短语和第一文本构成的文本对作为一组正样本,非目标样本和第一文本构成的文本对作为一组负样本;基于多组正样本和负样本训练得到短语分割模型。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。

本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1