CN118113815A - 内容搜索方法、相关装置和介质 - Google Patents
内容搜索方法、相关装置和介质 Download PDFInfo
- Publication number
- CN118113815A CN118113815A CN202410480913.1A CN202410480913A CN118113815A CN 118113815 A CN118113815 A CN 118113815A CN 202410480913 A CN202410480913 A CN 202410480913A CN 118113815 A CN118113815 A CN 118113815A
- Authority
- CN
- China
- Prior art keywords
- vector
- query
- attention
- content
- channel
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 239000013598 vector Substances 0.000 claims abstract description 773
- 239000011159 matrix material Substances 0.000 claims abstract description 230
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 230000000875 corresponding effect Effects 0.000 claims description 104
- 238000012549 training Methods 0.000 claims description 96
- 230000006870 function Effects 0.000 claims description 77
- 238000013528 artificial neural network Methods 0.000 claims description 69
- 238000012545 processing Methods 0.000 claims description 51
- 238000012937 correction Methods 0.000 claims description 37
- 230000000873 masking effect Effects 0.000 claims description 28
- 230000004913 activation Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 230000009466 transformation Effects 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 21
- 230000008569 process Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 20
- 230000008901 benefit Effects 0.000 description 18
- 238000010606 normalization Methods 0.000 description 16
- 238000013473 artificial intelligence Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000007547 defect Effects 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 5
- 238000012512 characterization method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004821 distillation Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种内容搜索方法、相关装置和介质。方法包括:获取输入查询向量;将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道,分别得到第一通道向量、第二通道向量和第三通道向量;对第一通道向量和第二通道向量进行注意力计算,得到第一注意力矩阵;获取位置偏置矩阵,位置偏置矩阵用于指示第一通道向量中的各个第一元素与第二通道向量中的各个第二元素的距离大小;基于第一注意力矩阵和位置偏置矩阵,确定第二注意力矩阵,并基于第三通道向量和第二注意力矩阵,确定目标查询特征向量;基于目标查询特征向量,搜索目标内容。本公开能提高文本内容的搜索准确性。本公开可应用于大数据、云技术等各种场景。
Description
技术领域
本公开涉及大数据技术领域,特别是涉及一种内容搜索方法、相关装置和介质。
背景技术
目前,在信息搜索、智能问答等多种业务场景中,往往需要根据对象提供的查询信息在语料库中搜索出与查询信息相匹配的结果,并将搜索结果进行反馈。为了提高内容搜索效率,相关技术的内容搜索大多数都是依赖于神经网络模型实现,但是,相关技术的内容搜索所依赖的神经网络模型对篇幅较长的内容文本的处理能力有限,往往存在着无法有效地捕捉到长文本的语义信息的缺陷,会导致内容搜索的准确性低下。
发明内容
本公开实施例提供了一种内容搜索方法、相关装置和介质,它能够提高文本内容的搜索准确性。
根据本公开的一方面,提供了一种内容搜索方法,所述方法包括:
获取输入查询向量;
将所述输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道,分别得到第一通道向量、第二通道向量和第三通道向量;
对所述第一通道向量和所述第二通道向量进行注意力计算,得到第一注意力矩阵;其中,所述第一注意力矩阵用于指示所述第一通道向量中的各个第一元素对所述第二通道向量中的各个第二元素的影响关注程度;
获取位置偏置矩阵,其中,所述位置偏置矩阵用于指示所述第一通道向量中的各个所述第一元素与所述第二通道向量中的各个所述第二元素的距离大小,所述位置偏置矩阵中的各个位置元素与所述第一注意力矩阵的各个注意力元素是正相关的;
基于所述第一注意力矩阵和所述位置偏置矩阵,确定第二注意力矩阵,并基于所述第三通道向量和所述第二注意力矩阵,确定目标查询特征向量;
基于所述目标查询特征向量,搜索目标内容。
根据本公开的一方面,提供了一种内容搜索装置,所述装置包括:
第一获取单元,用于获取输入查询向量;
输入单元,用于将所述输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道,分别得到第一通道向量、第二通道向量和第三通道向量;
计算单元,用于对所述第一通道向量和所述第二通道向量进行注意力计算,得到第一注意力矩阵;其中,所述第一注意力矩阵用于指示所述第一通道向量中的各个第一元素对所述第二通道向量中的各个第二元素的关注程度;
第二获取单元,用于获取位置偏置矩阵,其中,所述位置偏置矩阵用于指示所述第一通道向量中的各个所述第一元素与所述第二通道向量中的各个所述第二元素的距离大小,所述位置偏置矩阵中的各个位置元素与所述第一注意力矩阵的各个注意力元素是正相关的;
确定单元,用于基于所述第一注意力矩阵和所述位置偏置矩阵,确定第二注意力矩阵,并基于所述第三通道向量和所述第二注意力矩阵,确定目标查询特征向量;
搜索单元,用于基于所述目标查询特征向量,搜索目标内容。
可选地,所述确定单元用于:
基于所述第三通道向量和所述第二注意力矩阵,确定注意力修正向量,并将迭代次数加1,所述迭代次数初始化为0;
将所述注意力修正向量作为所述输入查询向量,返回将所述输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道的步骤,直到所述迭代次数达到第一次数后,将所述注意力修正向量确定为所述目标查询特征向量。
可选地,所述基于所述第三通道向量和所述第二注意力矩阵,确定注意力修正向量,包括:
基于所述第三通道向量和所述第二注意力矩阵,得到注意力计算结果;
基于所述注意力计算结果、和所述输入查询向量的残差和,确定初步查询向量;
基于所述文本向量模型的前馈神经网络对所述初步查询向量进行前馈处理,得到前馈特征向量;
基于所述前馈特征向量、和所述初步查询向量的残差和,得到所述注意力修正向量。
可选地,所述前馈神经网络包括第一全连接层、激活函数、和第二全连接层;
所述基于所述文本向量模型的前馈神经网络对所述初步查询向量进行前馈处理,得到前馈特征向量,包括:
基于所述第一全连接层对所述初步查询向量进行第一变维处理,得到变维查询特征向量;
基于所述激活函数对所述变维查询特征向量进行非线性变换,得到变换后查询特征向量;
基于所述第二全连接层对所述变换后查询特征向量进行第二变维处理,得到所述前馈特征向量,其中,所述前馈特征向量和所述初步查询向量的特征维度相同。
可选地,所述搜索单元用于:
获取预设内容库,其中,所述预设内容库包括多个候选内容、以及每个所述候选内容的内容特征向量;
针对每个所述候选内容,计算所述候选内容的内容特征向量、和所述查询特征向量之间的相关性分数;
基于所述相关性分数,对多个所述候选内容进行排序;
将所述排序中排在前预定名次的所述候选内容确定为所述目标内容。
可选地,所述输入查询向量通过以下方式获取到:
获取输入查询文本;
对所述输入查询文本进行词向量化处理,得到所述输入查询向量。
可选地,对于所述输入查询向量中的任一个词,所述词在所述第一通道向量中所对应的第一元素的元素序号、与所述词在所述第二通道向量中所对应的第二元素的元素序号相同,其中,所述元素序号用于指示所述词在所述输入查询向量的排列顺序;
所述位置偏置矩阵通过以下方式获取到:
基于所述第一通道向量中的各个所述第一元素的元素序号与所述第二通道向量中的各个所述第二元素的元素序号的元素序号差,确定初步偏置矩阵的所述位置元素的取值;
基于预定斜率因子和所述初步偏置矩阵的乘积,确定所述位置偏置矩阵。
可选地,所述内容搜索装置还包括调整单元,所述调整单元具体包括:
构造子单元,用于针对每个指定参考查询,构造正样本和负样本,所述正样本中的参考内容与所述指定参考查询对应,所述负样本中的所述参考内容与所述指定参考查询不对应;
第一计算子单元,用于针对每个所述指定参考查询,将与所述指定参考查询对应的所述正样本输入至所述预训练语言模型,得到所述指定参考查询的样本查询特征向量、和所述正样本中的所述参考内容的第一内容特征向量,并基于所述样本查询特征向量和所述第一内容特征向量计算第一相关性分数;
第二计算子单元,用于将与所述指定参考查询对应的所述负样本输入至所述预训练语言模型,得到所述指定参考查询的样本查询特征向量、和所述负样本中的所述参考内容的第二内容特征向量,并基于所述样本查询特征向量和所述第二内容特征向量计算第二相关性分数;
调整子单元,用于基于多个所述指定参考查询的所述第一相关性分数、和所述第二相关性分数对所述预训练语言模型的模型参数进行调整,得到所述文本向量模型。
可选地,所述构造子单元用于:
获取第一对应关系表,所述第一对应关系表包括多个参考查询、和与多个所述参考查询一一对应的参考内容;
针对所述第一对应关系表中的每个指定参考查询,基于所述指定参考查询、以及与所述指定参考查询对应的所述参考内容构造所述正样本,并基于所述指定参考查询、以及与所述指定参考查询之外的其它参考查询对应的所述参考内容构造所述负样本。
可选地,所述调整子单元用于:
针对每个所述指定参考查询,基于所述第一相关性分数、以及多个所述第二相关性分数的第一和,确定第一损失子函数;
对多个所述第一损失子函数进行求平均,确定第一损失函数;
基于所述第一损失函数对所述预训练语言模型的模型参数进行调整。
可选地,所述针对每个所述指定参考查询,基于所述第一相关性分数、以及多个所述第二相关性分数的第一和,确定第一损失子函数,包括:
针对每个所述指定参考查询的一个负样本的第二相关性分数作为自然常数的指数的第一结果,并将多个所述第一结果进行求和,得到第一和;
对以所述第一相关性分数作为自然常数的指数的第二结果、以及所述第一和进行相加,得到第二和;
对以所述第二和作为分母、以所述第一相关性分数作为自然常数的指数的第二结果作为分子的第一值取负对数,得到所述指定参考查询的第一损失子函数。
可选地,所述第一计算子单元用于:
确定所述样本查询特征向量和所述第一内容特征向量之间的余弦相似度;
基于所述余弦相似度、和预定温度系数的商,确定所述第一相关性分数。
可选地,所述预定温度系数通过以下方式确定:
获取所述文本向量模型的目标精确率、目标召回率、和目标准确率;
基于所述目标精确率,确定第一分数;
基于所述目标召回率,确定第二分数;
基于所述目标准确率,确定第三分数;
基于所述第一分数、所述第二分数、和所述第三分数,得到所述预定温度系数。
可选地,所述内容搜索装置还包括生成单元,所述生成单元具体包括:
获取子单元,用于获取多个样本句;
掩码子单元,用于将所述样本句分词,从分出的候选词中选择目标词,并对所述目标词进行掩码;
输入子单元,用于将掩码后的所述样本句输入至掩码语言模型,得到掩码预测结果;
计算子单元,用于基于所述多个所述样本句的所述目标词和所述掩码预测结果,计算第二损失函数;
训练子单元,用于基于所述第二损失函数,训练所述掩码语言模型,得到所述预训练语言模型。
可选地,所述获取子单元用于:
获取针对目标任务的多个通用文本;
针对每个所述通用文本,对所述通用文本进行分句处理,得到多个文本句;
针对每个所述文本句,在所述文本句的起始位置添加第一符号,在所述文本句的结束位置添加第二符号,得到所述样本句。
可选地,所述掩码子单元用于:
针对每个分出的所述候选词,确定所述候选词的重要性分数;
基于所述重要性分数,在所述候选词中选择预定数目个所述候选词作为所述目标词;
将所述目标词用目标字符替换,以对所述目标词进行掩码。
可选地,所述预定数目通过以下方式确定:
确定所述预训练语言模型的训练精度、和所述样本句的词语总数目;
基于所述训练精度,确定第一占比;
基于所述第一占比、和所述词语总数目的乘积,确定所述预定数目。
可选地,所述针对每个分出的所述候选词,确定所述候选词的重要性分数,包括:
针对每个分出的所述候选词,确定所述候选词与其他所述候选词的第一相关度、以及所述候选词与所述样本句的第二相关度;
基于所述第一相关度、和所述第二相关度,确定所述候选词的重要性分数。
可选地,所述掩码预测结果包括掩码预测词、和所述掩码预测词的第一概率;
所述计算子单元用于:
针对每个所述样本句,确定所述样本句的多个所述掩码中所述掩码预测词与所述目标词一致的目标掩码;
基于每个所述目标掩码对应的所述掩码预测词的所述第一概率的负对数,得到所述样本句的第二损失子函数;
基于多个所述样本句的所述第二损失子函数,计算所述第二损失函数。
可选地,所述掩码语言模型包括嵌入层、自注意力模块、前馈神经网络、和线性层;
所述输入子单元用于:
基于所述嵌入层对所述掩码后的所述样本句进行词向量化,得到所述掩码后的所述样本句的样本词向量特征;
基于所述样本词向量特征,通过所述自注意力模块、和所述前馈神经网络输出所述掩码后的所述样本句的样本句向量特征;
基于所述样本句向量特征,通过所述线性层进行掩码预测,得到所述样本句的掩码预测词、和所述掩码预测词的第一概率,并将所述掩码预测词和所述第一概率确定为所述掩码预测结果。
根据本公开的一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的内容搜索方法。
根据本公开的一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的内容搜索方法。
根据本公开的一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行如上所述的内容搜索方法。
本公开实施例中,针对相关技术在内容搜索时,未考虑到查询文本或内容文本中的各个词之间的距离大小,或者仅仅是利用较为简单的位置字节来表征查询文本或内容文本中词的所在位置,在处理长文本时会使提取到的语义信息存在损失,会导致内容搜索准确性不高的缺陷。本公开实施例将查询文本或内容文本中的各个词之间的距离大小作为一个单独的特征向量添加在注意力机制的内部,通过位置偏置矩阵来表征各个词的相互位置关系。无论输入文本的长度是多大都可以适用,只需要调整位置偏置矩阵的大小就可以满足各种长度的文本的向量化需求。具体地,在将输入查询向量输入到文本向量模型的自注意力模块中的第一通道、第二通道、和第三通道,分别第一通道向量、第二通道向量、和第三通道向量之后,对第一通道向量、第二通道向量进行注意力计算,以挖掘第一通道向量的各个第一元素对第二通道向量的各个第二元素的关注程度,得到第一注意力矩阵。进一步地,基于位置偏置矩阵中的各个位置元素与第一注意力矩阵的各个注意力元素的正相关关系,利用位置偏置矩阵对第一注意力矩阵进行修正,能够较为精确地结合各个元素之间的相互距离进行注意力修正,得到第二注意力矩阵,使第二注意力矩阵可以充分地考虑到各个词之间的距离大小,消除相关技术中对于长距离的文本的语义信息提取不准确的影响。最后,基于第三通道向量和第二注意力矩阵,确定目标查询特征向量;基于目标查询特征向量,搜索目标内容,能够有效地提高内容搜索准确性。
本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1是根据本公开的实施例的内容搜索方法应用的系统的体系构架图;
图2A-图2D示出了根据本公开的实施例的内容搜索方法应用在信息搜索场景下的示意图;
图3示出了根据本公开的实施例的内容搜索方法应用在问答场景下的示意图;
图4是根据本公开的一个实施例的内容搜索方法的流程图;
图5A是本公开的一个实施例的生成第一通道向量、第二通道向量和第三通道向量的实现过程示意图;
图5B是本公开的一个实施例的生成第一注意力矩阵的实现过程示意图;
图6是本公开的一个实施例的确定位置偏置矩阵的流程图;
图7是本公开的一个实施例的确定位置偏置矩阵的实现过程示意图;
图8是本公开的一个实施例的生成第二注意力矩阵的实现过程示意图;
图9是本公开的一个实施例的确定目标查询特征向量的流程图;
图10A是本公开的一个实施例的文本向量模型的整体结构示意图;
图10B是本公开的一个实施例的文本向量模型中的一个神经网络结构的结构示意图;
图11是根据本公开的一个实施例的基于第三通道向量和第二注意力矩阵,确定注意力修正向量的流程图;
图12是根据本公开的一个实施例的基于前馈神经网络对初步查询向量进行前馈处理的流程图;
图13是根据本公开的一个实施例的基于目标查询特征向量搜索目标内容的流程图;
图14是根据本公开的一个实施例的计算相关性分数的实现过程示意图;
图15是根据本公开的一个实施例的训练文本向量模型的流程图;
图16是根据本公开的一个实施例的构造正样本和负样本的流程图;
图17是根据本公开一个实施例的缺点第一相关性分数的流程图;
图18是根据本公开一个实施例的对预训练语言模型的模型参数进行调整的流程图;
图19是根据本公开一个实施例的生成预训练语言模型的流程图;
图20是根据本公开一个实施例的获取样本句的流程图;
图21是根据本公开一个实施例的对样本句进行分词和掩码的流程图;
图22是根据本公开一个实施例的利用掩码语言模型进行预测的流程图;
图23是根据本公开一个实施例的计算第二损失函数的流程图;
图24A-图24B是根据本公开一个实施例的内容搜索方法的实施细节示意图;
图25是根据本公开一个实施例的内容搜索装置的模块图;
图26是根据本公开一个实施例的内容搜索方法的终端结构图;
图27是根据本公开一个实施例的内容搜索方法的服务器结构图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
目前,在信息搜索、智能问答等多种业务场景中,往往需要根据对象提供的查询信息在语料库中搜索出与查询信息相匹配的结果,并将搜索结果进行反馈。为了提高内容搜索效率,相关技术的内容搜索大多数都是依赖于神经网络模型实现,但是,相关技术的内容搜索所依赖的神经网络模型对篇幅较长的内容文本的处理能力有限,往往存在着无法有效地捕捉到长文本的语义信息的缺陷,会导致内容搜索的准确性低下。
图1是根据本公开的实施例的内容搜索方法所应用的系统构架图。它包括对象终端140、互联网130、网关120、内容搜索服务器110、和文本数据库150等。
对象终端140包括桌面电脑、膝上型电脑、PDA(个人数字助理)、手机、车载终端、家庭影院终端、专用终端等多种形式。另外,它可以是单台设备,也可以是多台设备组成的集合。对象终端140可以以有线或无线的方式与互联网130进行通信,交换数据。对象终端140包含内容搜索系统,内容搜索系统用于接收对象输入的查询信息,并将对象输入的查询信息提交到内容搜索服务器进行内容搜索,以及将内容搜索的结果反馈给对象。
内容搜索服务器110是指能对对象终端140提供某些服务的计算机系统。相对于普通对象终端140来说,内容搜索服务器110在稳定性、安全性、性能等方面都要求更高。内容搜索服务器110可以是网络平台中的一台高性能计算机、多台高性能计算机的集群、一台高性能计算机中划出的一部分(例如虚拟机)、多台高性能计算机中划出的一部分(例如虚拟机)的组合等。内容搜索服务器110包含多种类型的服务,其中,内容搜索服务器110的各个服务的实现常常会与一些中间数据库或者存储介质等相关联。内容搜索服务器110用于利用训练好的文本向量模型将接收到的查询信息进行向量化,并利用向量化的查询信息在文本数据库150中搜索与查询信息相匹配的文本内容,文本数据库150中存储的多种文本内容、以及各个文本内容的向量化结果。
网关120又称网间连接器、协议转换器。网关在传输层上实现网络互连,是一种充当转换作用的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。同时,网关也可以提供过滤和安全功能。对象终端140向内容搜索服务器110发送的消息要通过网关120发送到相应的服务器。内容搜索服务器110向对象终端140发送的消息也要通过网关120发送到相应的对象终端140。
本公开实施例可以应用在多种场景下,例如图2A-图2D所示的信息搜索场景等。
如图2A所示,当对象要进行内容搜索时,对象通过对象终端登录内容搜索系统。在内容搜索系统的内容页面上显示有一个提示字段“请在下方输入框中输入搜索字段”、和一个用于编辑搜索字段的输入框。此时,对象在用于编辑搜索字段的输入框输入“A市有哪些景点?景点的游玩攻略有哪些?Xxxxx”,并点击“确定”按钮,以确定根据输入的搜索字段进行信息搜索。
如图2B所示,当对象点击“确定”按钮之后,内容搜索系统的内容页面上会显示有个提示窗口,提示窗口中显示有一个字段“正在搜索相关内容,请耐心等待...”。
如图2C所示,当内容搜索系统完成搜索之后,内容搜索系统的内容页面上会显示一个提示窗口,提示窗口中显示字段“已搜索到4个匹配度较高的目标内容,请确认是否查看目标内容?”,此时,对象点击“是”,以确定查看根据搜索字段搜索到的目标内容。
如图2D所示,当对象点击“是”之后,内容搜索系统的内容页面上显示有一个提示字段“已搜索以下4个匹配度较高的目标内容,可点击目标内容查看内容详情”,并显示有四个可交互的内容窗口“目标内容1:xxxxx”、“目标内容2:xxx”、“目标内容3:xxxxxxx”和“目标内容4:xx”。此时,对象点击内容窗口“目标内容3:xxxxxxx”,以查看目标内容3的具体文本内容。
需要说明的是,在信息搜索场景中,本公开实施例适用于对于网页、文档或者其他资源的搜索引擎,能较为准确地查询相关的内容。这一方式通过捕捉到查询信息、和文本内容之间的深层语义关系,能提高搜索结果的相关性和质量。
除了上述的信息搜索场景,本公开实施例还可以应用于图3所示的问答场景等。
如图3所示,首先,收集多个文本内容,其中,收集到的文本内容包括文本1“火锅…”、文本2“春季…”、…、文本N“跑步…”,N是大于2的正整数。接着,利用训练好的文本向量模型对收集到的文本内容的各个词进行向量化,得到各个文本内容对应的向量。其中,文本1“火锅…”对应的向量1是[0.374,0.476,…];文本2“春季…”对应的向量2是[0.758,0.482,…];…;文本N“跑步…”对应的向量N是[0.409,0.178,…]。进一步地,将文本1及其对应的向量1、文本2及其对应的向量2、…、文本N及其对应的向量N入库到文本向量库,使文本向量库中存储有多个文本内容、以及每个文本内容对应的向量。基于此,当对象提出问题“四季是指哪四个?”时,先利用文本向量模型对问题进行向量化,得到问题对应的向量是[0.967,0.532,…]。接着,利用问题对应的向量在文本向量库中进行查询,将问题对应的向量和文本向量库的各个文本内容对应的向量进行比较,将文本向量库的多个向量中与问题对应的向量最相似的向量所指向的文本内容作为回答进行返回,此时,对象接收到的回答是“春季、夏季、秋季和冬季统称为四季”。
需要说明的是,在问答场景中,本公开实施例能用于从知识库中检索到与对象输入的问题最相关的答案,有利于在智能问答中提高问答机器人对对象需求的理解,从而提供更具有针对性的回答。
根据本公开的一个实施例,提供了一种内容搜索方法。
该内容搜索方法一般应用在对内容准确性要求较高的业务场景中,例如图2A-图2D所示的信息搜索场景、图3所示的智能问答场景。本公开实施例提供了一种在内容搜索时,通过文本向量模型,利用查询语句中的各个词的位置修正各个词之间的关联性,并提取查询语句中的语义信息输出查询语句对应的向量表示,用向量表示搜索文本内容的方案,能够提高文本内容搜索的准确性。
如图4所示,根据本公开一个实施例的内容搜索方法可以包括:
步骤410、获取输入查询向量;
步骤420、将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道,分别得到第一通道向量、第二通道向量和第三通道向量;
步骤430、对第一通道向量和第二通道向量进行注意力计算,得到第一注意力矩阵;
步骤440、获取位置偏置矩阵;
步骤450、基于第一注意力矩阵和位置偏置矩阵,确定第二注意力矩阵,并基于第三通道向量和第二注意力矩阵,确定目标查询特征向量;
步骤460、基于目标查询特征向量,搜索目标内容。
下面对步骤410-460进行详细描述。
在步骤410中,获取输入查询向量。
输入查询向量是输入查询文本的向量形式,是文本向量模型能接收的表现形式。
在本公开实施例中,输入查询文本指的是对象在信息搜索中所输入的查询字段构成的文本、或者是对象在问答中所输入的问题字段构成的文本等。
在一个实施例中,输入查询向量通过以下方式获取到:
获取输入查询文本;
对输入查询文本进行词向量化处理,得到输入查询向量。
在该实施例具体实现时,在对象要进行内容搜索时,对象会通过对象终端输入查询字段、查询语句等多种形式的查询数据,基于此,服务器可以在经过授权许可的情况下,将对象输入的查询数据整合成输入查询文本。进一步地,服务器可以利用embeding的思想将输入查询文本进行词向量化处理,使输入查询文本由文本形式转换成模型可以接受的形式,得到输入查询向量。
例如,在利用embeding的思想将输入查询文本进行词向量化处理时,首先可以提取预设词表,其中,预设词表中有各个词对应的数字形式;接着,按照预设词表,查找输入查询文本的各个词对应的数字表示,得到输入查询向量。
在步骤420中,将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道,分别得到第一通道向量、第二通道向量和第三通道向量。
本公开实施例的文本向量模型指的是经过人工智能技术构建的、能够用于将输入内容转换成特征向量形式的模型。在本公开实施例中,文本向量模型的输入常常是各种查询字段,文本向量模型的输出是各个查询字段的查询特征向量。文本向量模型的作用在于捕捉输入的查询字段的语义信息,并生成查询字段所对应的稠密查询特征向量。
文本向量模型中包括自注意力模块,自注意力模块包括一个或者多个注意力头,每个注意力头都具有第一通道、第二通道、和第三通道。自注意力模块的注意力头用于计算输入的查询字段中的各个词与其他词之间的关联程度,以捕捉输入查询文本中的长距离依赖关系。自注意力模块能同时关注到输入查询字段在不同位置的语义信息,使生成的查询字段所对应的稠密查询特征向量具备较好的质量。
进一步地,本公开实施例的自注意力模块可以采用双向注意力机制,在对输入的查询字段进行处理时,同时考虑到各个词的上下文信息,使得在理解整个查询字段时更好地捕捉到各个词的上下文语义信息,并基于各个词的上下文语义信息计算出查询字段所对应的稠密查询特征向量,进一步提高生成的稠密查询特征向量的质量。
自注意力模块的第一通道、第二通道、和第三通道用于将输入查询向量投影到不同的线性空间,以从不同维度提取输入查询向量的语义信息。
简言之,第一通道指的是用于获取注意力机制中的查询向量Q的查询通道;第一通道向量指的是注意力机制中的查询向量Q。第二通道指的是用于获取注意力机制中的键向量K的键通道;第二通道向量指的是注意力机制中的键向量K。第三通道指的是用于获取注意力机制中的值向量V的值通道;第三通道向量指的是注意力机制中的值向量V。
在本公开实施例中,第一通道是依据第一模型权重矩阵对输入查询向量进行线性投影的。第二通道是依据第二模型权重矩阵/>对输入查询向量进行线性投影的。第三通道是依据第三模型权重矩阵/>对输入查询向量进行线性投影的。其中,第一模型权重参数/>、第二模型权重参数/>、第三模型权重参数/>是基于对文本向量模型的训练所确定的,当文本向量模型训练完毕,第一模型权重参数、第二模型权重参数、第三模型权重参数是固定不变的。
第一通道向量是输入查询向量经过第一通道投影所形成的特征向量。
第二通道向量是输入查询向量经过第二通道投影所形成的特征向量。
第三通道向量是输入查询向量经过第三通道投影所形成的特征向量。
在该实施例具体实现时,针对序列长度为L,隐藏维度为d=1的输入查询向量x,首先,将输入查询向量输入到第一通道,依据第一模型权重参数对输入查询向量x进行投影,得到第一通道向量Q=x/>。接着,将输入查询向量输入到第二通道,依据第二模型权重参数/>对输入查询向量x进行投影,得到第二通道向量K=x/>。最后,将输入查询向量输入到第三通道,依据第三模型权重参数/>对输入查询向量x进行投影,得到第三通道向量V=x/>。其中,第一模型权重参数/>、第二模型权重参数/>、第三模型权重参数∈/>;第一通道向量Q、第二通道向量K、第三通道向量V∈/>。/>
如图5A所示,输入查询文本中包括5个词,将输入查询文本进行词向量化,得到输入查询向量为x=[x1,x2,x3,x4,x5],其中,输入查询向量的长度为L=5,隐藏维度是d。将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道。在第一通道依据第一模型权重参数对输入查询向量x进行投影,得到第一通道向量Q=x=[q1,q2,q3,q4,q5];在第二通道依据第二模型权重参数/>对输入查询向量x进行投影,得到第二通道向量K=x/>=[k1,k2,k3,k4,k5];在第三通道依据第三模型权重参数/>对输入查询向量x进行投影,得到第三通道向量V=x/>=[v1,v2,v3,v4,v5]。
在步骤430中,对第一通道向量和第二通道向量进行注意力计算,得到第一注意力矩阵。
第一注意力矩阵用于指示第一通道向量中的各个第一元素对第二通道向量中的各个第二元素的关注程度。
第一元素指的是输入查询向量中的一个词元素经过第一通道投影之后的表现形成。
第二元素指的是输入查询向量中的一个词元素经过第二通道投影之后的表现形成。
在该实施例具体实现时,为了确定输入查询向量在第一通道所对应特征维度的特征向量、和在第二通道所对应特征维度的特征向量之间的相关性,采用点积计算的方式,将第一通道向量中的每个第一元素和第二通道向量的每个第二元素进行点积相乘,以实现对第一通道向量和第二通道向量的注意力计算,得到第一注意力矩阵。其中,第一注意力矩阵S=,S/>。
需要说明的时,第一注意力矩阵由多个注意力分数构成。每个注意力分数用于指示一个第一元素对一个第二元素的关注程度。为了提高计算效率,一个注意力分数是一个第一元素和第二元素进行点积计算的结果。例如,针对第一通道向量Q的第i个行向量(第i个第一元素),第二通道向量K的第j个行向量(第j个行向量),计算得到注意力分数=,/>表示第一注意力矩阵S的第i行第j列的元素值,/>。i和j是大于0且不大于L的整数。
如图5B所示,第一通道向量Q=[q1,q2,q3,q4,q5]和第二通道向量K =[k1,k2,k3,k4,k5]进行注意力计算。由于第一通道向量中具有5个第一元素,第二通道向量中具有5个第二元素,经过对各个第一元素、和各个第二元素的点积计算,可以得到一个5×5的第一注意力矩阵S,第一注意力矩阵S中包含25个注意力分数。其中,第1行的注意力分数依次为q1·k1、q1·k2、q1·k2、q1·k3、q1·k4、q1·k5;第2行的注意力分数依次为q2·k1、q2·k2、q2·k2、q2·k3、q2·k4、q2·k5;……;第5行的注意力分数依次为q5·k1、q5·k2、q5·k2、q5·k3、q5·k4、q5·k5。
在步骤440中,获取位置偏置矩阵。
位置偏置矩阵用于指示第一通道向量中的各个第一元素与第二通道向量中的各个第二元素的距离大小,位置偏置矩阵中的各个位置元素与第一注意力矩阵的各个注意力元素是正相关的。
其中,位置元素、和注意力元素常常以数值的形式表现。位置元素用于指示第一元素和第二元素的距离大小的量化结果,注意力元素用于指示第一元素对第二元素的关注程度的量化结果。
例如,当位置偏置矩阵中位置元素所指示的第一元素在输入查询文本(输入查询向量)中对应的词、和第二元素在输入查询文本(输入查询向量)中对应的词的距离越大,位置元素的绝对值越大,该位置元素对应的注意力元素的被修正程度越大,会使注意力元素的数值较大程度地减小。
为节省篇幅,本公开实施例的获取位置偏置矩阵的具体实现过程将在下文中进行详细描述。此处不做赘述。
在步骤450中,基于第一注意力矩阵和位置偏置矩阵,确定第二注意力矩阵,并基于第三通道向量和第二注意力矩阵,确定目标查询特征向量。
第二注意力矩阵用于指示利用各个第一元素和各个第二元素的距离大小,对各个第一元素对各个第二元素的影响关注程度进行修正的结果。
目标查询特征向量指的是输入查询向量(输入查询文本)经过文本向量模型所输出的向量表示,目标查询特征向量用于指示输入查询向量(输入查询文本)的语义信息。
为节省篇幅,本公开实施例的基于第一注意力矩阵和位置偏置矩阵,确定第二注意力矩阵的具体实现过程、基于第三通道向量和第二注意力矩阵,确定目标查询特征向量的具体实现过程将在下文中进行详细描述。此处不做赘述。
在步骤460中,基于目标查询特征向量,搜索目标内容。
目标内容指的是搜索到的、与输入查询向量(输入查询文本)相匹配的、较为符合真实查询需求的文本内容。
为节省篇幅,本公开实施例的基于目标查询特征向量,搜索目标内容的具体实现过程将在下文中进行详细描述。此处不做赘述。
通过上述步骤410-460,本公开实施例中,针对相关技术在内容搜索时,未考虑到查询文本或内容文本中的各个词之间的距离大小,或者仅仅是利用较为简单的位置字节来表征查询文本或内容文本中词的所在位置,在处理长文本时会使提取到的语义信息存在损失,会导致内容搜索准确性不高的缺陷。本公开实施例将查询文本或内容文本中的各个词之间的距离大小作为一个单独的特征向量添加在注意力机制的内部,通过位置偏置矩阵来表征各个词的相互位置关系。无论输入文本的长度是多大都可以适用,只需要调整位置偏置矩阵的大小就可以满足各种长度的文本的向量化需求。具体地,在将输入查询向量输入到文本向量模型的自注意力模块中的第一通道、第二通道、和第三通道,分别第一通道向量、第二通道向量、和第三通道向量之后,对第一通道向量、第二通道向量进行注意力计算,以挖掘第一通道向量的各个第一元素对第二通道向量的各个第二元素的关注程度,得到第一注意力矩阵。进一步地,基于位置偏置矩阵中的各个位置元素与第一注意力矩阵的各个注意力元素的正相关关系,利用位置偏置矩阵对第一注意力矩阵进行修正,能够较为精确地结合各个元素之间的相互距离进行注意力修正,得到第二注意力矩阵,使第二注意力矩阵可以充分地考虑到各个词之间的距离大小,消除相关技术中对于长距离的文本的语义信息提取不准确的影响。最后,基于第三通道向量和第二注意力矩阵,确定目标查询特征向量;基于目标查询特征向量,搜索目标内容,能够有效地提高内容搜索准确性。
以上是对步骤410-460进行的总体描述。由于步骤410、步骤420和步骤430已在上述总体描述中详尽,下面将针对步骤440、步骤450和步骤460的具体实现展开详细描述。
在步骤440中,获取位置偏置矩阵,位置偏置矩阵用于指示第一通道向量中的各个第一元素与第二通道向量中的各个第二元素的距离大小,位置偏置矩阵中的各个位置元素与所述第一注意力矩阵的各个注意力元素是正相关的。
在本公开实施例中,引入位置偏置矩阵的物理意义在根据第一通道向量中各个第一元素与第二通道向量中的各个第二元素之间的距离大小(距离远近)来惩罚第一注意力矩阵中的各个注意力分数,相当于是通过位置偏置矩阵来使第一注意力矩阵中关注程度较大的第一元素和第二元素之间的关注程度进一步被放大,第一注意力矩阵中关注程度较小的第一元素和第二元素之间的关注程度进一步被缩小。
需要说明的是,对于输入查询向量中的任一个词,词在第一通道向量中所对应的第一元素的元素序号、与词在第二通道向量中所对应的第二元素的元素序号相同,其中,元素序号用于指示词在所述输入查询向量的排列顺序。
例如,针对输入查询向量(输入查询文本)“1月份有多少天”,输入查询向量包括4个词:[1月份,有,多少,天],此时,第一通道向量中会包含4个第一元素[q1,q2,q3,q4]。其中,第一元素q1的元素序号为1,表示第一元素q1对应于输入查询向量中的第一个词“1月份”;第一元素q2的元素序号为2,表示第一元素qA2对应于输入查询向量中的第二个词“有”;第一元素q3的元素序号为1,表示第一元素q3对应于输入查询向量中的第三个词“多少”;第一元素q4的元素序号为4,表示第一元素q4对应于输入查询向量中的第四个词“天”。同样地,第二通道向量中会包含4个第二元素[k1,k2,k3,k4]。其中,第二元素k1的元素序号为1,表示第二元素k1对应于输入查询向量中的第一个词“1月份”;第二元素k2的元素序号为2,表示第二元素k2对应于输入查询向量中的第二个词“有”;第二元素k3的元素序号为1,表示第二元素k3对应于输入查询向量中的第三个词“多少”;第二元素k4的元素序号为4,表示第二元素k4对应于输入查询向量中的第四个词“天”。基于此,针对词“1月份”,其对应的第一元素q1和第二元素k1的元素序号是相同的,都是1;第一元素q1和第二元素k1的元素序号差为1-1=0。
请参照图6,在一个实施例中,步骤440具体包括但不限于包括以下步骤610-620:
步骤610、基于第一通道向量中的各个第一元素的元素序号与第二通道向量中的各个第二元素的元素序号的元素序号差,确定初步偏置矩阵的位置元素的取值;
步骤620、基于预定斜率因子和初步偏置矩阵的乘积,确定位置偏置矩阵。
下面对步骤610-620进行详细描述。
在步骤610中,基于第一通道向量中的各个第一元素的元素序号与第二通道向量中的各个第二元素的元素序号的元素序号差,确定初步偏置矩阵的位置元素的取值。
初步偏置矩阵用于指示第一通道向量中的各个第一元素与第二通道向量中的各个第二元素的距离大小。
在该实施例具体实现时,首先,针对第一通道向量中的各个第一元素,根据第二元素对应于的词在输入查询向量中的排序,确定第一元素的元素序号;针对第二通道向量中的各个第二元素,根据第二元素对应于的词在输入查询向量中的排序,确定第二元素的元素序号。接着,针对每个第一元素与每个第二元素,将第一元素的元素序号减去第二元素的元素序号的绝对值的相反数作为第一元素和第二元素的元素序号差,将得到的一个元素序号差作为初步偏置矩阵中的一个位置元素的取值。最后,将所有元素序号差作为各个位置元素的取值,添加到一个全零矩阵,得到初步偏置矩阵。
例如,针对第i个第一元素与第j个第二元素,第一元素的元素序号是i,第二元素的元素序号是j,第一元素和第二元素的元素序号差是。初步偏置矩阵是一个大小为L×L的、包含L×L个元素序号差的矩阵。当第一通道向量中的第一元素与第二通道向量中的第二元素的位置距离越小,则惩罚项/>越小(绝对值越小),第一元素与第二元素之间的注意力分数会被修正成越大的值;当第一通道向量中的第一元素与第二通道向量中的第二元素的位置距离越大,则惩罚项/>越大(绝对值越大),第一元素与第二元素之间的注意力分数会被修正成越小的值。
同理,在一个文本序列中,当两个词之间的距离越小,那么两个词之间的关联性越大,相互贡献越大;当两个词之间的距离越大,那么两个词之间的关联性越小,相互贡献越小。本公开实施例就是通过位置偏置矩阵,实现对输入查询向量的各个词的位置编码,使文本向量模型在处理输入查询向量时感知到输入查询文本中不同词之间的距离信息的,当两个词之间的距离越远,在位置偏置矩阵中所对应的元素值(指绝对值)越大,相互贡献越小。
在步骤620中,基于预定斜率因子和初步偏置矩阵的乘积,确定位置偏置矩阵。
预定斜率因子用于控制根据第一通道向量中的各个第一元素与第二通道向量中的各个第二元素的距离大小,对第一注意力矩阵的修正程度。
在本公开实施例中,预定斜率因子是一个大于0的常数。针对自注意力模块的不同注意力头,各个注意力头对输入查询向量的处理过程基本一致,但的各个注意力头的预定斜率因子取值不同。
例如,针对有个8个注意力头的自注意力模块,预定斜率因子可以分别设置为、、/>、…、/>。根据预定斜率因子的大小不同,不同注意力头以不同的比率来增大第一元素和第二元素之间的惩罚项(/>)。
在该实施例具体实现时,首先,针对初步偏置矩阵中的每个元素序号差,将元素序号差和预定斜率因子相乘,得到乘积后元素序号差。接着,用乘积后元素序号差更新初步偏置矩阵中的各个元素序号差,得到新的矩阵,将新的矩阵作为位置偏置矩阵。
如图7所示,针对第一通道向量Q=[q1,q2,q3,q4,q5]、第二通道向量K =[k1,k2,k3,k4,k5]。由于第一通道向量中具有5个第一元素,第二通道向量中具有5个第二元素。对各个第一元素、和各个第二元素计算位置差会得到一个5×5的初步偏置矩阵。具体地,首先,针对第一通道向量的第1个元素q1和第二通道向量的第1个元素k1计算位置差有。针对第一通道向量的第1个元素q1和第二通道向量的第2个元素k2计算位置差有/>。针对第一通道向量的第1个元素q1和第二通道向量的第3个元素k3计算位置差有/>。……,依次类推,针对第一通道向量的第5个元素q5和第二通道向量的第5个元素k5计算位置差有/>。接着,将位置差/>、/>、/>、/>添加到一个全零矩阵,得到初步偏置矩阵。最后,将初步偏置矩阵和预定斜率因子m进行点积相乘,得到位置偏置矩阵B,B/>。
该实施例的好处是,引入位置偏置矩阵来表征第一通道向量中的各个第一元素与第二通道向量中的各个第二元素的距离大小,使得在确定各个第一元素对第二元素的关注程度时,考虑到第一元素和第二元素之间的相对位置,根据相对距离大小修正第一元素对第二元素的关注程度。具体地,基于第一通道向量中的各个第一元素与第二通道向量中的各个第二元素的元素序号差,确定一个初步偏置矩阵,并引入预定斜率因子来限定相对距离大小的修正强度,使生成的位置偏置矩阵更为合理。另外,本公开实施例的位置偏置矩阵相当于是对输入查询向量的各个词的相对位置编码,使得能省略在将输入查询向量输入到文本向量模型时,在输入查询向量上添加位置编码的绝对编码流程,达到提高处理效率的效果;相较于绝对编码只能对无法对长文本进行有效编码和处理的缺陷,本公开所采用的相对位置编码能有效地编码和处理序列长度很长的文本内容,捕捉到长文本的语义信息。
在步骤450中,基于第一注意力矩阵和位置偏置矩阵,确定第二注意力矩阵,并基于第三通道向量和第二注意力矩阵,确定目标查询特征向量。
在一个实施例中,在基于第一注意力矩阵和位置偏置矩阵,确定第二注意力矩阵时,可以直接将第一注意力矩阵中各个第一元素对各个第二元素的注意力分数、与位置偏置矩阵中各个第一元素和各个第二元素的位置差进行相加,以实现利用第一元素和第二元素的相对距离大小,修正第一元素对第二元素的注意力分数。接着,用经过修正的注意力分数替换第一注意力矩阵中的各个注意力分数,得到一个新的注意力矩阵,将这个新的注意力矩阵确定为第二注意力矩阵。
例如,当第一注意力矩阵表示为S,第一注意力矩阵中的第i行第j列的注意力分数(第i个第一元素对第j个第二元素的关注程度)为;位置偏置矩阵表示为B,第i个第一元素和第j个第二元素的位置差是/>,预定斜率因子是m时,第一元素对第二元素的修正后注意力分数可以表示为
第二注意力矩阵可以表示为
如图8所示,将第一注意力矩阵、和位置偏置矩阵的相同位置的元素进行相加,得到第二注意力矩阵。其中,第二注意力矩阵的第1行第1列的元素值是(q1·k1+0·m);第二注意力矩阵的第1行第2列的元素值是(q1·k2-1·m);第二注意力矩阵的第1行第3列的元素值是(q1·k3-2·m);第二注意力矩阵的第1行第4列的元素值是(q1·k4-3·m);第二注意力矩阵的第1行第5列的元素值是(q1·k5-4·m);……;第二注意力矩阵的第5行第5列的元素值是(q5·k5-0·m)。
在另一个实施例中,还可以引入查表法,设置一个预定元素表,使得位置偏置矩阵的各个元素在预定元素表中都各自对应于一个数值。在计算第二注意力矩阵时,使第一注意力矩阵的各个注意力分数乘上位置偏置矩阵的同一位置的元素所对应的数值,得到修正之后的注意力分数,从而得到第二注意力矩阵。
上述实施例的好处是,本公开实施例,在文本向量模型的自注意力模块生成的第一注意力矩阵上添加位置偏置矩阵,而不是在将输入查询向量输入时在输入查询向量上添加位置编码,能有效提升文本向量模型处理长文本序列的能力。通过添加位置偏置矩阵的方式来实现位置编码,让文本向量模型感知到文本序列中不同词之间的位置信息。使得对于序列长度达到2048以上的长序列文本,文本向量模型也可以通过添加位置偏置矩阵的方式来感知到长序列文本中所有词之间的距离大小(相对位置关系)。相较于绝对编码仅仅能编码固定长度范围内的文本内容,添加位置偏置矩阵的方法可以使文本向量模型有效处理和编码长文本,并生成高质量的稠密文本向量,有效捕捉到长文本的语义信息。
需要说明的是,本公开实施例的文本向量模型常常是由多个相同的神经网络结构堆叠而成。在一个神经网络结构中,包括有一个自注意力模块、和一个前馈神经网络。其中,前馈神经网络用于对经过自注意力模块处理的输入查询向量进行单向传播,以进一步挖掘输入查询向量的语义信息、以及挖掘输入查询向量和自注意力模块的输出之间的映射关系。关于自注意力模块已经在上文进行详细描述,此处不再赘述。
请参照图9,在一个实施例中,基于第三通道向量和第二注意力矩阵,确定目标查询特征向量的具体过程包括但不限于包括以下步骤910-920:
步骤910、基于第三通道向量和第二注意力矩阵,确定注意力修正向量,并将迭代次数加1;
步骤920、基于预定斜率因子和初步偏置矩阵的乘积,确定位置偏置矩阵。
下面对步骤910-920进行详细描述。
在步骤910中,基于第三通道向量和第二注意力矩阵,确定注意力修正向量,并将迭代次数加1。
注意力修正向量用于指示经过文本向量模型中的一个神经网络结构提取到的输入查询向量中的语义信息。
迭代次数用于指示当前处理轮次是第几个神经网络结构在进行特征处理,迭代次数初始化为0。
在该实施例具体实现时,首先,在第一个神经网络结构中,利用第一个神经网络结构的自注意力模块,基于第三通道向量和第二注意力矩阵,确定一个注意力计算结果。接着,基于注意力计算结果,通过第一个神经网络结构中的前馈神经网络输出注意力修正向量,并将迭代次数加1,以确定第一个神经网络结构的特征处理执行完毕。
在步骤920中,将注意力修正向量作为输入查询向量,返回将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道的步骤,直到迭代次数达到第一次数后,将注意力修正向量确定为目标查询特征向量。
第一次数与文本向量模型的神经网络结构的总数目一致。
在该实施例具体实现时,首先,将第一个神经网络输出的注意力修正向量作为输入查询向量,并返回将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道的步骤,利用文本向量模型的第二个神经网络结构的自注意力模块中的第一通道、第二通道和第三通道对新的输入查询向量进行投影变换,并重复上述步骤420-440、和步骤910,通过第二个神经网络结构中的前馈神经网络输出注意力修正向量,并将迭代次数加1,以确定第二个神经网络结构的特征处理执行完毕。进一步地,将第二个神经网络输出的注意力修正向量作为输入查询向量,并返回将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道的步骤,利用文本向量模型的第三个神经网络结构的自注意力模块中的第一通道、第二通道和第三通道对新的输入查询向量进行投影变换,重复前述过程,直到通过最后一个神经网络结构中的前馈神经网络输出注意力修正向量,并确定迭代次数达到第一次数,将最后一个神经网络结构输出的注意力修正向量确定为目标查询特征向量。
如图10A所示,是文本向量模型的整体结构示意图。具体地,文本向量模型包括若干个自注意力模块+前馈神经网络的神经网络结构。首先,将输入查询向量输入到第一个神经网络结构,将经过第一个神经网络结构的自注意力模块、和前馈神经网络处理后输出的注意力修正向量作为第二个神经网络结构的输入。接着,将第二个神经网络结构的输出作为第三个神经网络结构的输入,直至最后一个神经网络结构的自注意力模块、和前馈神经网络完成特征处理,并输出一个注意力修正向量,将最后一个神经网络结构输出的注意力修正向量作为目标查询特征向量。
该实施例的好处是,将文本向量模型设计成多个神经网络结构堆叠的形式,能在利用自注意力模块和前馈神经网络对输入查询向量的语义信息进行捕捉时,逐层深入地挖掘输入查询向量的语义信息,使最终生成的目标查询特征向量具备较为完善的查询内容信息,有利于提高基于目标查询特征向量搜索目标内容的搜索精度。
请参照图11,在一个实施例中,步骤910包括但不限于包括以下步骤1110-1140:
步骤1110、基于第三通道向量和第二注意力矩阵,得到注意力计算结果;
步骤1120、基于注意力计算结果、和输入查询向量的残差和,确定初步查询向量;
步骤1130、基于文本向量模型的前馈神经网络对初步查询向量进行前馈处理,得到前馈特征向量;
步骤1140、基于预定斜率因子和初步偏置矩阵的乘积,确定位置偏置矩阵。
下面对步骤1110-1140进行详细描述。
在步骤1110中,基于第三通道向量和第二注意力矩阵,得到注意力计算结果。
注意力计算结果用于指示输入查询向量(输入查询文本)的各个词之间的相互依赖关系信息。
在该实施例具体实现时,首先,将第二注意力矩阵进行注意力分数调整,以控制第二注意力矩阵的注意力分数的取值范围,得到调整后第二注意力矩阵。接着,对调整后第二注意力矩阵进行归一化,得到归一化结果。进一步地,针对归一化结果、和第三通道向量进行注意力计算,对归一化结果和第三通道向量中的各个第三元素进行点积计算,以对第三通道向量中的各个第三元素赋予归一化的注意力分数,得到初步计算结果。最后,依据第四模型权重矩阵对初步计算结果进行线性投影,得到注意力计算结果。其中,第四模型权重矩阵/>也是基于对文本向量模型的训练所确定的,是文本向量模型中的模型参数,当文本向量模型训练完毕,第四模型权重矩阵/>也是固定不变的,第四模型权重矩阵。
其中,初步计算结果可以表示为:
;其中,/>指的是第二通道矩阵的特征维度。上述的将第二注意力矩阵进行注意力分数调整的过程指的是/>。
注意力计算结果可以表示为。
在步骤1120中,基于注意力计算结果、和输入查询向量的残差和,确定初步查询向量。
初步查询向量用于指示输入查询向量(输入查询文本)中的原始信息、和输入查询向量的各个词之间的相互依赖关系信息。
在该实施例具体实现时,将注意力计算结果、和输入查询向量进行向量相加,得到注意力计算结果、和输入查询向量的残差和,将这一残差和作为初步查询向量。
在步骤1130中,基于文本向量模型的前馈神经网络对初步查询向量进行前馈处理,得到前馈特征向量。
在本公开实施例中,前馈神经网络包括依次连接的第一全连接层、激活函数、和第二全连接层。其中,第一全连接层和第二全连接层用于对接收到的特征信息进行线性变换,激活函数用于对接收到的特征信息进行激活输出。
前馈特征向量用于指示输入查询向量中经过前馈神经网络挖掘到的语义信息。
为节省篇幅,本公开实施例的基于前馈神经网络对初步查询向量进行前馈处理,得到前馈特征向量的具体过程将在下文中进行详细描述。此处不做赘述。
在步骤1140中,基于前馈特征向量、和初步查询向量的残差和,得到注意力修正向量。
在该实施例具体实现时,将前馈特征向量、和初步查询向量进行向量相加,得到前馈特征向量、和初步查询向量的残差和,将这一残差和作为注意力修正向量。
如图10B所示,是文本向量模型中的一个神经网络结构的整体结构示意图。一个神经网络结构中具有一个自注意力模块和一个前馈神经网络,自注意力模块和前馈神经网络的后面都跟随有一个残差连接(Residual Connection)和层归一化(LayerNormalization)。具体地,当将输入查询向量输入到神经网络结构时,先由自注意力模块对输入查询向量进行处理。将输入查询向量输入到自注意力模块的第一通道、第二通道、第三通道分别进行线性投影,得到第一通道向量Q、第二通道向量K、和第三通道向量V,其具体实现过程与上述步骤420类似。接着,对第一通道向量Q、第二通道向量K进行注意力计算(Matmul),得到第一注意力矩阵S,其具体实现过程与上述步骤430类似。进一步地,基于第一注意力矩阵S和位置偏置矩阵B生成第二注意力矩阵,将第二注意力矩阵进行注意力分数调整(规模调整Scale),并利用softmax函数对调整后第二注意力矩阵进行归一化,将归一化结果和第三通道向量V进行注意力计算(Matmul),得到初步计算结果O,并对初步计算结果O进行线性投影,得到注意力计算结果,其具体实现过程与上述步骤1110类似。进一步地,根据自注意力模块后面跟随的残差连接,将注意力计算结果与输入查询向量的残差和进行层归一化,将经过层归一化的残差和作为初步查询向量。进一步地,利用前馈神经网络对初步查询向量进行前馈处理,得到前馈特征向量,其具体实现过程与步骤1130类似。最后,根据前馈神经网络后面跟随的残差连接和层归一化,将初步查询向量与前馈特征向量的残差和进行层归一化,将经过层归一化的残差和作为注意力修正向量。其中,本公开实施例的层归一化指的是对初步查询向量与前馈特征向量的残差和、或者注意力计算结果与输入查询向量的残差和中的不同特征进行归一化处理。
该实施例的好处是,利用自注意力模块的位置偏置矩阵对各个词的注意力分数进行调整,使针对各个词的语义特征的提取与各个词之间的相对位置关系相关联,能更为准确地捕捉各个词的上下文信息,进一步地,利用前馈神经网络对自注意力模块的输出再次进行信息挖掘,能较好地提高注意力修正向量的特征质量。
请参照图12,在一个实施例中,步骤1130包括但不限于包括以下步骤1210-1230:
步骤1210、基于第一全连接层对初步查询向量进行第一变维处理,得到变维查询特征向量;
步骤1220、基于激活函数对变维查询特征向量进行非线性变换,得到变换后查询特征向量;
步骤1230、基于第二全连接层对变换后查询特征向量进行第二变维处理,得到前馈特征向量。
下面对步骤1210-1230进行详细描述。
在步骤1210中,基于第一全连接层对初步查询向量进行第一变维处理,得到变维查询特征向量。
变维查询特征向量是初步查询向量的低维表示形式。
在该实施例具体实现时,基于第一全连接层对初步查询向量进行第一变维处理,将初步查询向量由高维度向量空间映射到低维度向量空间,以提取初步查询向量中的潜在语义信息,得到变维查询特征向量。
在步骤1220中,基于激活函数对变维查询特征向量进行非线性变换,得到变换后查询特征向量。
变换后查询特征向量是变维查询特征向量的非线性映射结果。
在该实施例具体实现时,基于激活函数,引入非线性因素对变维查询特征向量进行非线性变换,以挖掘输入查询文本的非线性信息,得到变换后查询特征向量。
需要说明的是,前馈神经网络中引入的激活函数,能在训练时提高文本向量模型的特征表达能力。本公开实施例的激活函数包括但不限于包括Relu函数、sigmiod函数等等。
在步骤1230中,基于第二全连接层对变换后查询特征向量进行第二变维处理,得到前馈特征向量。
在本公开实施例中,前馈特征向量和初步查询向量的特征维度相同。
在该实施例具体实现时,基于第二全连接层对变换后查询特征向量进行第二变维处理,将变换后查询特征向量由低维度向量空间映射到高维度向量空间,以将经过非线性变换的特征向量还原到原先特征维度,得到前馈特征向量。
该实施例的好处是,前馈神经网络通过第一全连接层、激活函数和第二全连接层对初步查询向量进行前馈处理,以进一步挖掘输入查询向量的语义信息、以及挖掘输入查询向量和自注意力模块的输出之间的映射关系,能较好地提取到输入查询文本中的局部语义特征信息,生成高质量的前馈特征向量,进而提高生成的注意力修正向量的特征质量。
在步骤460中,基于目标查询特征向量,搜索目标内容。
请参照图13,在一个实施例中,步骤460具体包括但不限于包括以下步骤1310-1340:
步骤1310、获取预设内容库;
步骤1320、针对每个候选内容,计算候选内容的内容特征向量、和目标查询特征向量之间的相关性分数;
步骤1330、基于相关性分数,对多个候选内容进行排序;
步骤1340、将排序中排在前预定名次的候选内容确定为目标内容。
下面对步骤1310-1340进行详细描述。
在步骤1310中,获取预设内容库。
预设内容库包括多个候选内容、以及每个候选内容的内容特征向量。其中,预设内容库的候选内容以文本形式存在的。
需要说明的是,本公开实施例中的预设内容库的各个候选内容的内容特征向量也是基于文本向量模型确定的。在内容搜索之前,本公开实施例还包括构建预设内容库,具体包括:收集各个业务领域的文本内容,形成多个候选内容;针对每个候选内容,将候选内容的输入内容向量输入到文本向量模型,得到候选内容的内容特征向量,其具体实现过程与上述步骤410-450类似。为节省篇幅,不再赘述。
在该实施例具体实现时,在经过授权许可的情况下,调用预设内容库,并提取预设内容库的多个候选内容、和每个候选内容的内容特征向量。
在步骤1320中,针对每个候选内容,计算候选内容的内容特征向量、和目标查询特征向量之间的相关性分数。
相关性分数用于指示候选内容和输入查询向量之间的相关程度。相关性分数越大,候选内容和输入查询向量越相关。
在该实施例具体实现时,针对每个候选内容,利用余弦相似度、欧氏距离等相似度算法计算候选内容的内容特征向量、和目标查询特征向量之间的相关性分数。当利用余弦相似度时,计算候选内容的内容特征向量、和目标查询特征向量之间的余弦相似度,并将余弦相似度作为相关性分数。当利用欧氏距离时,计算候选内容的内容特征向量、和目标查询特征向量之间的欧氏距离,并将欧氏距离的倒数作为相关性分数。
以余弦相似度为例,将目标查询特征向量q、与预设内容库的多个内容特征向量{}逐一计算余弦相似度score,其中,余弦相似度的取值范围为[0,1],N是预设内容库的候选内容的总数目,/>是第i个候选内容对应的内容特征向量,i是大于2,且不大于N的整数。其具体计算过程可以表示如公式(1)所示:
公式(1);
在步骤1330中,基于相关性分数,对多个候选内容进行排序。
在该实施例具体实现时,根据各个候选内容的相关性分数,对各个候选内容按照相关性分数进行降序排列,得到一个排序。其中,在排序中,相关性分数越大的候选内容,排在越靠前位置;相关性分数越小的候选内容,排在越靠后位置。
在步骤1340中,将排序中排在前预定名次的候选内容确定为目标内容。
预定名次用于限定目标内容的内容数目。
本公开实施例的预定名次可以是默认值、也可以由各个对象自定义,还可以由内容搜索服务器根据各个对象的对象信誉度、对象活跃度等综合确定,不做具体限制。
在该实施例具体实现时,根据确定的预定名次,将排序中排在前预定名次的候选内容确定为目标内容,并将目标内容进行反馈。
如图14所示,是确定输入查询向量和候选内容的相关性分数的过程。具体地,针对输入查询向量、和候选内容,共享文本向量模型,将输入查询向量输入到文本向量模型,得到输入查询向量所对应的查询特征向量,并将候选内容输入到文本向量模型,得到候选内容所对应的内容特征向量,其具体实现过程与上述步骤420-450类似,其中,输入到文本向量模型的候选内容指的是模型可以接收的词向量形式,是对文本形式的候选内容进行词向量化得到的。进一步地,对查询特征向量和内容特征向量进行余弦相似度计算,并根据计算出的相似度确定输入查询向量和候选内容的相关性分数(score),其具体实现过程与上述步骤1320类似。为节省篇幅,不再赘述。
该实施例的好处是,利用相似度计算的方式来确定相关性分数,能实现快速、准确搜索的内容搜索,提高内容搜索的准确性和效率。
为了提高文本向量模型的内容检索效果,本公开实施例提供了一种基于对比学习,对预训练语言模型的模型参数进行调整的模型训练方案,能充分地利用预训练语言模型学习到的丰富语言知识,还能通过对比学习来增强文本向量模型的语义匹配和判别能力,从而提高内容检索的效果。
本公开实施例的预训练语言模型是在大量无标签的通用文本数据上训练掩码语言模型(MLM,Masked Language Model)得到的。为了节省篇幅,针对预训练语言模型的训练过程将在下文中进行详细描述,此处不再赘述。
请参照图15,在一个实施例中,文本向量模型通过以下方式对预训练语言模型进行调整得到
步骤1510、针对每个指定参考查询,构造正样本和负样本;
步骤1520、针对每个指定参考查询,将与指定参考查询对应的正样本输入至预训练语言模型,得到指定参考查询的样本查询特征向量、和正样本中的参考内容的第一内容特征向量,并基于样本查询特征向量和第一内容特征向量计算第一相关性分数;
步骤1530、将与指定参考查询对应的负样本输入至预训练语言模型,得到指定参考查询的样本查询特征向量、和负样本中的参考内容的第二内容特征向量,并基于样本查询特征向量和第二内容特征向量计算第二相关性分数;
步骤1540、基于多个指定参考查询的第一相关性分数、和第二相关性分数对预训练语言模型的模型参数进行调整,得到文本向量模型。
下面对步骤1510-1540进行详细描述。
在步骤1510中,针对每个指定参考查询,构造正样本和负样本。
指定参考查询指的是被筛选出作为训练样本的参考查询,参考查询通常表现成文本的形式,参考查询可以是一个字段、也可以是一个句子。
正样本和负样本都包括一个指定参考查询和一个参考内容。
参考内容指的是一个比参考查询的内容长度更长的文本内容。其中,正样本中的参考内容与指定参考查询对应。负样本中的参考内容与指定参考查询不对应。
例如,一个正样本中的参考查询为“鞋子的售后差”,参考内容为“鞋子有质量问题,售后态度不是一般差,客服说话很不客气。反映质量问题后也不主动让我拍照,反倒我主动要求发照片。寄回要垫付很贵的运费…”。
在该实施例具体实现时,首先,在经过授权许可的情况下,从通用数据集中获取各种语言类型的关联文本对数据,其中,关联文本对数据中包括多个关联文本对,一个关联文本对包括一个查询字段、和与查询字段关联的文本内容。接着,针对一个关联文本对,将关联文本对的查询字段作为指定参考查询,并将关联文本对中与查询字段对应的文本内容作为与指定参考查询对应的参考内容,构造一个正样本。进一步地,针对一个关联文本对,将关联文本对的查询字段作为指定参考查询,自定义构造多个与查询字段不相关的文本内容作为负样本的参考内容,以构造负样本。
在步骤1520中,针对每个指定参考查询,将与指定参考查询对应的正样本输入至预训练语言模型,得到指定参考查询的样本查询特征向量、和正样本中的参考内容的第一内容特征向量的具体实现过程与上述步骤420-450类似。基于样本查询特征向量和第一内容特征向量计算第一相关性分数的具体实现过程与上述步骤1320类似。为节省篇幅,不再赘述。
在步骤1530中,将与指定参考查询对应的负样本输入至预训练语言模型,得到指定参考查询的样本查询特征向量、和负样本中的参考内容的第二内容特征向量的具体实现过程与上述步骤1520类似。为节省篇幅,不再赘述。
在步骤1540中,基于多个指定参考查询的第一相关性分数、和第二相关性分数对预训练语言模型的模型参数进行调整,得到文本向量模型。
在该实施例具体实现时,首先,基于对比学习的思想,利用多个指定参考查询的第一相关性分数、和第二相关性分数构造损失函数,将以损失函数的输出最小化为训练目标,不断地调整预训练语言模型的模型参数,并重复上述步骤1510-1530,直至在某个迭代轮次使损失函数的输出小于预定值,停止对预训练语言模型的模型参数进行调整,将该迭代轮次中预训练语言模型的模型参数作为最终参数,得到文本向量模型。
该实施例的好处是,针对每个指定参考查询,构造正样本和负样本,利用预训练语言模型对正样本和负样本进行处理,能充分地利用预训练语言模型学习到的丰富语言知识,有效地提取到正负样本的指定参考查询和参考内容的语义信息。进一步地,针对正样本的输出确定第一相关性分数,利用预训练语言模型针对负样本的输出确定第二相关性分数,并根据第一相关性分数和第二相关性分数对预训练语言模型进行对比学习训练,通过对比学习来增强模型的语义匹配和判别能力,使训练出的文本向量模型具备较好地文本编码和文本处理能力,有利于改善内容检索的效果。
请参照图16,在一个实施例中,步骤1510具体包括但不限于包括以下步骤1610-1620:
步骤1610、获取第一对应关系表;
步骤1620、针对第一对应关系表中的每个指定参考查询,基于指定参考查询、以及与指定参考查询对应的参考内容构造正样本,并基于指定参考查询、以及与指定参考查询之外的其它参考查询对应的参考内容构造负样本。
下面对步骤1610-1620进行详细描述。
在步骤1610中,获取第一对应关系表。
第一对应关系表用于指示参考查询、以及与参考查询对应的参考内容。第一对应关系表可以依据各种语言类型的关联文本对数据构建而成。
在该实施例具体实现时,在经过授权许可的情况下,调用构建好的第一对应关系表,并确定第一对应关系表所包含的参考查询、以及各个参考查询所对应的参考内容。
在步骤1620中,首先,在第一对应关系表中,从参考查询中随机筛选出一定数目的参考查询作为指定参考查询。接着,针对每个指定参考查询,基于指定参考查询、以及与指定参考查询对应的参考内容构造正样本。进一步地,提取与指定参考查询以外的其他参考查询对应的参考内容,将指定参考查询、和提取到的每个参考内容构造成一个负样本,得到多个负样本。
例如,针对给定一些参考查询和参考内容的文本对集合,其中,n是第一对应关系表的参考查询的总数目,当将所有参考查询作为指定参考查询时,n也是指定参考查询的总数目,针对第i个文本对/>是参考查询,/>是参考查询对应的参考内容。对于第i个指定参考查询,收集和分配负样本列表/>,其中,m是除了指定参考查询以外的其他参考查询对应的参考内容的总数目,m是小于n的正整数,/>指的是第i个指定参考查询的第j个不对应的参考内容。在分配负样本时,采用批次内负采样的方式,将其他参考查询对应的参考内容作为负样本。
该实施例的好处是,根据第一对应关系表,直接根据指定参考查询和与指定参考查询对应的参考内容构造正样本,并提取与指定参考查询不对应的其他参考查询的参考内容构造负样本,无须花费其他资源和时间来考虑如何构造各个指定参考查询的负样本的参考内容,能够较好地提高正样本、和负样本的构造效率。
请参照图17,在一个实施例中,基于样本查询特征向量和第一内容特征向量计算第一相关性分数的具体过程包括但不限于包括以下步骤1710-1720:
步骤1710、确定样本查询特征向量和第一内容特征向量之间的余弦相似度;
步骤1720、基于余弦相似度、和预定温度系数的商,确定第一相关性分数。
下面对步骤1710-1720进行详细描述。
在步骤1710中,确定样本查询特征向量和第一内容特征向量之间的余弦相似度。
在该实施例具体实现时,步骤1710的具体实现过程与上述步骤1320类似。为节省篇幅,不再赘述。
在步骤1720中,基于余弦相似度、和预定温度系数的商,确定第一相关性分数。
预定温度系数是一个超参数,预定温度系数用于将各个样本查询特征向量和各个第一内容特征向量之间的余弦相似度缩放到同一个量级表示内,使各个样本查询特征向量和各个第一内容特征向量在相关性分数上的区分度更加明显。
在该实施例具体实现时,首先,在经过授权许可的情况下,调用预定温度系数。接着,将余弦相似度作为被除数,将预定温度系数作为除数进行除法运算,得到余弦相似度、和预定温度系数的商。最后,将余弦相似度、和预定温度系数的商作为第一相关性分数。
其中,针对指定参考查询q的样本查询特征向量、和参考内容p的第一内容特征向量之间的余弦相似度可以表示如公式(2)所示:
公式(2);
其中,指第一相关性分数,/>指指定参考查询q的样本查询特征向量,/>指参考内容的第一内容特征向量,/>指预定温度系数。
该实施例的好处是,引入预定温度系数对余弦相似度进行优化,能够增大使各个样本查询特征向量和各个第一内容特征向量在的相关性分数差异,使优化效果更为明显,进而提高归一化的准确性。另外,引入预定温度系数和余弦相似度计算第一相关性分数,能提高用于计算第一损失函数的第一相关性分数的准确性,能够使第一损失函数的输出趋于平滑,有利于提高模型调整效果。
由于不同的蒸馏温度下的归一化效果会各不相同,为了提高归一化效果,本公开提供了一种基于模型的调整目标确定预定温度系数的方案,能够提高预定温度系数的准确性和合理性,进而提高模型调整的准确性。
在一个实施例中,预定温度系数通过以下方式确定:
获取文本向量模型的目标精确率、目标召回率、和目标准确率;
基于目标精确率,确定第一分数;
基于目标召回率,确定第二分数;
基于目标准确率,确定第三分数;
基于第一分数、第二分数、和第三分数,得到预定温度系数。
在该实施例具体实现时,目标准确率用于指示基于文本向量模型的输出预测正确的正负样本与所有样本的比值。目标召回率用于指示预测正确的正样本与所有正样本的比值。目标精确率用于指示预测正确的正样本与预测正确的正样本和预测错误的负样本之和的比值。在获取文本向量模型的目标精确率、目标召回率、和目标准确率时,可以根据实际业务需求或者模型的训练目标来确定文本向量模型的目标精确率、目标召回率、和目标准确率。
进一步地,在基于目标精确率,确定第一分数时,采用查表法来确定目标精确率所对应的第一分数。具体地,获取第一关系表,其中,第一关系表用于指示每个精确率区间所对应的分数。接着,查询第一关系表,确定目标精确率所在的精确率区间;最后,将与目标精确率所在的精确率区间对应的分数作为第一分数。
其中,基于目标召回率,确定第二分数的具体实现过程、基于目标准确率,确定第三分数的具体实现过程与基于目标精确率,确定第一分数的具体实现过程类似。为节省篇幅,不再赘述。
进一步地,获取第一分数的第一分数权重、第二分数的第二分数权重、和第三分数的第三分数权重,其中,第一分数权重用于指示目标精确率对确定预定温度系数的重要程度,第二分数权重用于指示目标召回率对确定预定温度系数的重要程度;第三分数权重用于指示目标准确率对确定预定温度系数的重要程度。接着,根据第一分数权重、第二分数权重、第三分数权重对第一分数、第二分数、和第三分数进行加权和,得到总分数。
进一步地,采用查表法来确定总分数所对应的预定温度系数。其具体实现过程与基于目标精确率,确定第一分数的具体实现过程类似。为节省篇幅,不再赘述。
该实施例的好处是,本公开实施例,基于模型的调整目标确定预定温度系数,根据模型所要求的目标精确率、目标召回率、和目标准确率来综合确定最终的蒸馏温度,能够提高预定温度系数的准确性和合理性,进而提高模型调整的准确性。
请参照图18,在一个实施例中,步骤1540具体包括但不限于包括以下步骤1810-1830:
步骤1810、针对每个指定参考查询,基于第一相关性分数、以及多个第二相关性分数的第一和,确定第一损失子函数;
步骤1820、对多个第一损失子函数进行求平均,确定第一损失函数;
步骤1830、基于余弦相似度、和预定温度系数的商,确定第一相关性分数。
下面对步骤1810-1830进行详细描述。
在步骤1810中,针对每个指定参考查询,基于第一相关性分数、以及多个第二相关性分数的第一和,确定第一损失子函数。
在该实施例具体实现时,由于针对每个指定参考查询,与这个指定参考查询相对应的参考内容往往只有一个,但是只要是与指定参考查询不对应的内容都可以作为负样本的参考内容,所以,每个指定参考查询的正样本常常是1个,而负样本常常是多个。基于此,首先,针对每个指定参考查询的一个负样本的第二相关性分数作为自然常数的指数的第一结果,并将多个第一结果进行求和,得到第一和。接着,对以第一相关性分数作为自然常数的指数的第二结果、以及第一和进行相加,得到第二和。进一步地,对以第二和作为分母、以第一相关性分数作为自然常数的指数的第二结果作为分子的第一值取负对数,得到指定参考查询的第一损失子函数。
在步骤1820中,首先,确定指定参考查询的总数目。接着,根据总数目,对多个第一损失子函数进行求平均,将求平均的结果作为第一损失函数。其中,第一损失函数可以表示如公式(3)所示:
公式(3);
其中,表示第一损失函数,/>表示使第一损失函数的输出最小化。n是指定参考查询的总数目,/>是第i个指定参考查询的正样本的第一相关性分数为自然常数的指数的第二结果,/>是第i个指定参考查询的负样本的第二相关性分数,/>是第一和,i是大于0且不大于n的整数。
在步骤1830中,基于第一损失函数对预训练语言模型的模型参数进行调整。
在该实施例具体实现时,将使第一损失函数的输出结果尽可能地小为参数调整目标。利用反向传播的方式来基于第一损失函数对预训练语言模型进行调整。具体地,首先获取第一损失函数在每个迭代轮次的输出损失值;接着,将输出损失值和预设阈值进行比较。如果输出损失值大于预设阈值,则对预训练语言模型的模型参数进行调整,并继续下一轮的迭代训练。重复上述训练过程,直到在某个迭代轮次中,输出损失值小于或者等于预设阈值时,将此轮迭代设置的模型参数作为最终的模型参数,从而得到文本向量模型。其中,预设阈值根据实际需求设置,不做限制。
该实施例的好处是,针对正样本的输出确定第一相关性分数,利用预训练语言模型针对负样本的输出确定第二相关性分数,并根据第一相关性分数和第二相关性分数计算各个指定参考的第一损失子函数,并基于多个第一损失子函数确定第一损失函数,利用第一损失函数对预训练语言模型进行对比学习训练,通过对比学习来增强模型的语义匹配和判别能力,能提高模型训练效果。
由于本公开实施例的模型调整过程中需要基于预训练语言模型来生成能够各个指定参考查询和参考内容的语义信息的特征向量,第一模型需要具备一定的特征表达能力。基于此,本公开实施例提供了一种对掩码语言模型进行预训练的方案,能使预训练语言模型具备丰富的语言知识,提高预训练语言模型的特征表达能力。
为了减少预训练语言模型的参数量,本公开实施例的预训练语言模型指的是一些轻量级的神经网络模型,例如,BERT模型、掩码语言模型(MLM)等等。
请参照图19,在一个实施例中,预训练语言模型通过以下方式生成:
步骤1910、获取多个样本句;
步骤1920、将样本句分词,从分出的候选词中选择目标词,并对目标词进行掩码;
步骤1930、将掩码后的样本句输入至掩码语言模型,得到掩码预测结果;
步骤1940、基于多个所述样本句的目标词和掩码预测结果,计算第二损失函数;
步骤1950、基于第二损失函数,训练掩码语言模型,得到预训练语言模型。
下面对步骤1910-1950进行详细描述。
在步骤1910中,获取多个样本句。
多个样本句是多种语言的文本句子。其中,语言包括中文、英文、日文、法文等等,不做限制。
在该实施例具体实现时,获取多种语言的多个样本句的方式包括但不限于以下方式:
(1)采集不同业务场景中的对话数据,将对话数据中的对话句子作为第一样本句。其中,业务场景包括但不限于包括问诊场景、保险推荐场景等等。当业务场景是问诊场景时,对话句子是关于医学问诊的问答句子。当业务场景是保险推荐场景时,对话句子是关于保险产品的产品描述句子、以及投保意图描述句子。
(2)从各种文章、论文或者书籍中截取句子,将截取到的句子作为样本句。
需要说明的是,在本公开实施例中,在获取多种语言的多个样本句时,会通过弹窗或者跳转到确认页面等方式获得相关对象的单独许可或者单独同意,在明确获得相关对象的单独许可或者单独同意之后,再获取多种语言的多个样本句。
在步骤1920中,将样本句分词,从分出的候选词中选择目标词,并对目标词进行掩码。
在该实施例具体实现时,首先,将样本句的各个词进行分割,得到多个单独的候选词。接着,在分出的候选词中随机选择一定数目的候选词作为目标词。最后,用固定字符替换目标词,或者将目标词替换成空格,以实现对样本句的掩码。具体地,首先利用Jieba分词算法、WordPiece算法等分词算法对每个样本句进行分词,奖样本句拆分成多个单独的词语,得到候选词。当采用Jieba分词算法时,利用Jieba分词算法将样本句拆分成多个单独的词语。当采用WordPiece算法时,利用WordPiece算法对样本句进行双字节编码,将样本句拆分成二元词语。进一步地,根据业务需求,在分出的目标词中随机选择满足业务需求所要求的数目个目标词。进一步地,对目标词进行静态掩码或者动态掩码,得到目标词的掩码。最后,将目标词的掩码、以及未选择的候选词整合成掩码后的样本句。
在步骤1930中,将掩码后的样本句输入至掩码语言模型,得到掩码预测结果。
掩码预测结果用于指示掩码语言模型预测出的掩码后的样本句中各个掩码所对应的预测词。
在该实施例具体实现时,首先将掩码后的样本句输入掩码语言模型。接着,经由掩码语言模型按照上述步骤420-450的方式提取掩码后的样本句的语义表征信息和语言表征信息,并基于提取到的语义表征信息和语言表征信息预测掩码后的样本句中掩码所对应的词语,将预测到的词语作为掩码的预测词。
在步骤1940中,基于多个所述样本句的目标词和掩码预测结果,计算第二损失函数。
第二损失函数用于衡量样本句中的目标词和掩码预测结果中预测词的差异。针对样本句中的目标词,掩码预测结果中的预测词与目标词越接近,表明掩码语言模型的模型处理能力越好。
在该实施例具体实现时,首先针对每个样本句,计算样本句中的目标词和掩码预测结果中的预测词的差异大小,得到计算结果。接着,根据所有样本句的计算结果,计算第二损失函数,从而根据第二损失函数的输出情况来判断掩码语言模型是否符合训练要求。
在步骤1950中,基于第二损失函数,训练掩码语言模型,得到预训练语言模型。
在该实施例具体实现时,步骤1950的具体实现过程与上述步骤1540类似。区别在于,步骤1540是基于第一损失函数训练预训练语言模型,而步骤1950是基于第二损失函数训练掩码语言模型,两者所训练的模型不同。为节省篇幅,不再赘述。
该实施例的好处是,本公开实施例,通过将多种语言的多个样本句进行分词和掩码,能够较为方便地得到每个样本句对应的候选词、以及每个样本句中目标词的掩码,将句级别的模型训练转换成词级别的模型训练,使模型训练更加细粒度化。进一步地,利用掩码语言模型来学习每个掩码后的样本句的语义表征信息,并输出样本句中目标词的掩码预测结果,将使掩码语言模型预测目标词的掩码所表征的词作为训练任务。进一步地,利用样本句的目标词和掩码预测结果计算第二损失函数,并基于第二损失函数训练出预训练语言语言模型,使预训练语言模型能够重点关注到目标词语和掩码预测结果的差异,提高模型的训练效果,进而提高预训练语言模型的特征表达能力。
请参照图20,在一个实施例中,步骤1910具体包括但不限于包括以下步骤2010-2030:
步骤2010、获取针对目标任务的多个通用文本;
步骤2020、针对每个通用文本,对通用文本进行分句处理,得到多个文本句;
步骤2030、针对每个文本句,在文本句的起始位置添加第一符号,在文本句的结束位置添加第二符号,得到样本句。
下面对步骤2010-2030进行详细描述。
在步骤2010中,目标任务用于指示内容搜索所偏好的业务领域。通用文本指的是能够表征自然语言的基本语法、句法、和语义知识,以及一般领域的背景知识的文本。
在该实施例具体实现时,首先,确定内容搜索所要适用的业务领域,并根据内容搜索所要适用的业务领域,确定目标任务。接着,在经过授权许可的情况下,从公开平台、应用程序、或者文献数据库等多种渠道获取目标任务下的多个通用文本。
在步骤2020中,针对每个通用文本,依据表示句子结束的标点符号对通用文本进行分句处理,得到多个文本句。
在步骤2030中,第一符号用于表示文本句的开始,第二符号用于表示文本句的结束。其中,第一符号常常表示为“cls”,第二符号常常表示为“sep”。
在该实施例具体实现时,针对每个文本句,在文本句的起始位置添加第一符号“cls”,在文本句的结束位置添加第二符号“sep”,得到样本句。
该实施例的好处是,利用各个领域的通用文本中的句子构建样本句,用样本句对掩码语言模型进行无标签训练,能提高训练样本的数据量,降低训练难度。进一步地,由于通用文本包括了自然语言的基本语法、句法、和语义知识,以及一般领域的背景知识,通过在基于通用文本的样本句上训练模型,能使预训练语言模型学习到丰富的语言表示,有利于为训练文本向量模型的语言表达奠定较好的基础。
请参照图21,在一个实施例中,步骤1920具体包括但不限于包括以下步骤2110-2130:
步骤2110、针对每个分出的候选词,确定候选词的重要性分数;
步骤2120、基于重要性分数,在候选词中选择预定数目个候选词作为目标词;
步骤2130、将目标词用目标字符替换,以对目标词进行掩码。
下面对步骤2110-2130进行详细描述。
在步骤2110中,首先,针对每个分出的候选词,确定候选词与其他候选词的第一相关度、以及候选词与样本句的第二相关度。接着,基于第一相关度、和第二相关度,确定候选词的重要性分数。其中,第一相关度用于衡量候选词与其他候选词的相关程度,第二相关度用于衡量候选词在整个样本句中的重要性。
在该实施例具体实现时,在确定候选词与其他候选词的第一相关度时,先按照上述步骤1320的方式计算候选词与其他候选词的相似度,再将多个相似度求平均,得到第一相关度。接着,按照上述步骤1320的方式计算候选词与样本句的相似度,将相似度作为第二相关度。最后,按照预定权重比例对第一相关度和第二相关度进行加权和,得到候选词的重要性分数。其中,预定权重比例是预先设置的,不做具体限制。
在步骤2120中,首先,根据重要性分数对各个候选词按照重要性分数进行降序排序。接着,在排序中选取前预定数目个候选词作为目标词,以将重要性分数较高的候选词作为要掩码的词,实现对包含信息量更多的词的掩码。
在步骤2130中,将目标词用预先确定的目标字符mask替换掉,实现对目标词的掩码。
例如,针对样本句X=[cls,AA,是,BB,的,首都,AA,有着,悠久,的,文化,和,历史,sep]。按照上述方式进行掩码,得到掩码后的样本句=[cls,AA,是,mask,的,首都,AA,有着,悠久,的,mask,和,mask,sep]。
该实施例的好处是,根据各个词之间的相关性以及词与整个样本句的相关性来确定各个候选词的重要性,能提高重要性判断的准确性。进一步地,根据各个词在文本中的重要性,倾向于将包含信息量更多、重要性程度更高的候选词进行掩码,能够更好地训练模型根据上下文信息推断掩码的掩码预测能力,有利于提高训练出语言表达能力更好的预训练语言模型。
在一个实施例中,预定数目通过以下方式确定:
确定预训练语言模型的训练精度、和样本句的词语总数目;
基于训练精度,确定第一占比;
基于第一占比、和词语总数目的乘积,确定预定数目。
在该实施例具体实现时,确定预训练语言模型的训练精度的方式与上述步骤:获取文本向量模型的目标精确率、目标召回率、和目标准确率的方式类似。进一步地,基于训练精度确定第一占比的方式与上述步骤:基于目标精确率,确定第一分数的方式类似。为节省篇幅,不再赘述。最后,将第一占比和样本句的词语总数目相乘,得到样本句中需要筛选出的目标词的预定数目。其中,第一占比的取值范围在30%-50%之间。这一方式能保留了样本句的基本语义信息的情况下,尽可能地根据训练精度的要求扩大样本句中要被掩码的词的比例,以提高模型的掩码预测能力。
本公开实施例的掩码语言模型包括嵌入层、自注意力模块、前馈神经网络、和线性层。嵌入层用于将输入句子转换成词向量形式。自注意力模块和前馈神经网络的作用与上述步骤450中描述文本向量模型时的作用一致,线性层用于根据。自注意力模块和前馈神经网络的输出结果对掩码词进行预测。
需要说明的是,在模型训练阶段的掩码语言模型相对于文本向量模型、预训练语言模型在模型结构上多了一个线性层,当掩码语言模型训练完毕,需要将线性层去掉,从而得到预训练语言模型。预训练语言模型与文本向量模型的模型结构基本一致,但两者的模型参数会存在一定的差异。
请参照图22,在一个实施例中,步骤1930具体包括但不限于包括以下步骤2210-2230:
步骤2210、基于嵌入层对掩码后的样本句进行词向量化,得到掩码后的样本句的样本词向量特征;
步骤2220、基于样本词向量特征,通过自注意力模块、和前馈神经网络输出掩码后的样本句的样本句向量特征;
步骤2230、基于样本句向量特征,通过线性层进行掩码预测,得到样本句的掩码预测词、和掩码预测词的第一概率,并将掩码预测词和第一概率确定为掩码预测结果。
下面对步骤2210-2230进行详细描述。
在步骤2210中,步骤2210的具体实现过程与上述步骤410中获取输入查询向量的方式类似。为节省篇幅,不再赘述。
在步骤2220中,步骤2220的具体实现过程与上述步骤420-450类似。为节省篇幅,不再赘述。
在步骤2230中,将样本句向量特征输入到线性层,通过线性层的softmax函数对掩码后的样本句中的各个掩码进行预测,生成各个掩码在不同掩码预测词上的概率分布,并基于概率分布,确定样本句的掩码预测词、和掩码预测词的第一概率。最后,将样本句中的各个掩码的掩码预测词和第一概率确定为掩码预测结果。
该实施例的好处是,通过自注意力模块、和前馈神经网络。能有效地提取到掩码后的样本句的语义信息,进一步地,利用线性层的softmax函数根据提取到的语义信息进行掩码预测,根据各个掩码的上下文信息推断出掩码可能对应的所有预测词,以及掩码是各个预测词的概率,能有效地提高样本句的掩码预测准确性和预测效率。
由于每个样本句中会包含不止一个掩码,因此,需要根据样本句中多个掩码的预测结果来综合判断样本句的掩码预测准确性。基于此,本公开实施例提供了一种根据样本句中多个掩码的预测结果构建损失函数的方案,能够较为方便地判断样本句的掩码预测准确性,进而提高函数计算的准确性。
本公开实施例中,掩码预测结果包括掩码预测词、和掩码预测词的第一概率。掩码预测词是被掩码的目标词可能对应的各个词语,第一概率即掩码语言模型认为被掩码的目标词是这个词语的预测概率。
请参照图23,在一个实施例中,步骤1940具体包括但不限于包括以下步骤2310-2330:
步骤2310、针对每个样本句,确定样本句的多个掩码中掩码预测词与目标词一致的目标掩码;
步骤2320、基于每个目标掩码对应的掩码预测词的第一概率的负对数,得到样本句的第二损失子函数;
步骤2330、基于多个样本句的第二损失子函数,计算第二损失函数。
下面对步骤2310-2330进行详细描述。
在步骤2310中,目标掩码指的是样本句中掩码预测词与目标词一致的掩码。
在该实施例具体实现时,针对样本句中的每个掩码,将掩码的掩码预测词和目标词进行比较。如果掩码的掩码预测词和目标词不一致,表明掩码预测不正确。如果掩码的掩码预测词和目标词一致,表明掩码预测正确,将这个掩码作为目标掩码。
在步骤2320中,针对每个样本句,首先,计算每个目标掩码对应的掩码预测词的第一概率的负对数;接着,将样本句中所有目标掩码的负对数相加,得到这个样本句的第二损失子函数。其中,每个样本句的第二损失子函数可以表示如公式(4)所示:
公式(4);
其中,指的是样本句X的第二损失子函数。M是样本句中所有被掩码的目标词形成的集合。/>是样本句中的第i个与目标词一致的掩码预测词。/>是与目标词一致的掩码预测词的第一概率。
在步骤2330中,对样本句的第二损失子函数进行求平均,得到第二损失函数。
该实施例的好处是,根据每个样本句中掩码预测词与目标词一致的目标掩码的概率的负对数之和来衡量样本句的掩码预测情况,并构建第二损失函数,采用交叉熵损失函数作为第二损失函数来衡量模型预测词汇与真实词汇之间的差异,通过最小化第二损失函数来更新掩码语言模型的模型参数,能较为方便地判断样本句的掩码预测准确性,还能提高函数计算的准确性。另外,本公开实施例的预训练语言模型时基于无标签的通用文本数据训练出的,无标签的通用文本数据的数据量很大,能较好地训练预训练语言模型学习到基本的语法规则和语言结构,能提高模型理解每个单词在上下文中的含义,使得基于预训练语言模型训练出的文本向量模型具备较好地语义信息挖掘能力。
下面参照图24A-图24B,详细示例性说明本公开实施例的内容搜索方法的实施细节。
如图24A所示,是针对文本向量模型的训练和应用的具体示意图。在模型训练阶段,首先,预训练掩码语言模型,生成预训练语言模型,其具体实现过程与上述步骤1910-1950的具体实现过程类似。接着,采用对比学习对预训练语言模型进行训练,得到文本向量模型,其具体实现过程与上述步骤1510-1540类似。在模型应用阶段,将模型部署之后,在推断阶段,利用文本向量模型进行内容检索,其具体实现过程与上述步骤410-460类似。为节省篇幅,不再赘述。
如图24B所示,是内容搜索服务器110和对象终端140的交互过程示意图。内容搜索服务器110在模型训练阶段,首先,将基于指定参考查询的正样本和负样本输入到预训练语言模型,得到正样本的样本查询特征向量和第一内容特征向量、以及负样本的样本查询特征向量和第二内容特征向量。接着,根据样本查询特征向量和第一内容特征向量计算第一相关性分数,并根据样本查询特征向量和第二内容特征向量计算第二相关性分数,其具体实现过程与上述步骤1520-1530的具体实现过程类似。进一步地,基于第一相关性分数、第二相关性分数、正样本标签和负样本标签生成第一损失函数,并基于第一损失函数对预训练语言模型进行调整,生成文本向量模型,其具体实现过程与上述步骤1810-1830的具体实现过程类似。进一步地,当对象终端140想要进行内容搜索,将输入查询字段发送给内容搜索服务器110。接着,内容搜索服务器110将接收到的输入查询字段对应的输入查询向量输入到文本向量模型,得到输入查询字段对应的目标查询特征向量,其具体实现过程与上述步骤420-450的具体实现过程类似。最后,内容搜索服务器110基于目标查询特征向量在预设文本库中搜索目标内容,将搜索到的目标内容反馈给对象终端140,其具体实现过程与上述步骤460的具体实现过程类似。为节省篇幅,不再赘述。
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的表征依次显示,但是这些步骤并不是必然按照箭头表征的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据目标对象属性信息或属性信息集合等与目标对象特性相关的数据进行相关处理时,都会先获得目标对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取目标对象属性信息时,会通过弹窗或者跳转到确认页面等方式获得目标对象的单独许可或者单独同意,在明确获得目标对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的目标对象相关数据。
图25为本公开实施例提供的内容搜索装置2500的结构示意图。该内容搜索装置2500包括:
第一获取单元2510,用于获取输入查询向量;
输入单元2520,用于将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道,分别得到第一通道向量、第二通道向量和第三通道向量;
计算单元2530,用于对第一通道向量和第二通道向量进行注意力计算,得到第一注意力矩阵;其中,第一注意力矩阵用于指示第一通道向量中的各个第一元素对第二通道向量中的各个第二元素的关注程度;
第二获取单元2540,用于获取位置偏置矩阵,其中,位置偏置矩阵用于指示第一通道向量中的各个第一元素与第二通道向量中的各个第二元素的距离大小,位置偏置矩阵中的各个位置元素与第一注意力矩阵的各个注意力元素是正相关的;
确定单元2550,用于基于第一注意力矩阵和位置偏置矩阵,确定第二注意力矩阵,并基于第三通道向量和第二注意力矩阵,确定目标查询特征向量;
搜索单元2560,用于基于目标查询特征向量,搜索目标内容。
可选地,确定单元2550用于:
基于第三通道向量和第二注意力矩阵,确定注意力修正向量,并将迭代次数加1,迭代次数初始化为0;
将注意力修正向量作为输入查询向量,返回将输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道的步骤,直到迭代次数达到第一次数后,将注意力修正向量确定为目标查询特征向量。
可选地,基于第三通道向量和第二注意力矩阵,确定注意力修正向量,包括:
基于第三通道向量和第二注意力矩阵,得到注意力计算结果;
基于注意力计算结果、和输入查询向量的残差和,确定初步查询向量;
基于文本向量模型的前馈神经网络对初步查询向量进行前馈处理,得到前馈特征向量;
基于前馈特征向量、和初步查询向量的残差和,得到注意力修正向量。
可选地,前馈神经网络包括第一全连接层、激活函数、和第二全连接层;
基于文本向量模型的前馈神经网络对初步查询向量进行前馈处理,得到前馈特征向量,包括:
基于第一全连接层对初步查询向量进行第一变维处理,得到变维查询特征向量;
基于激活函数对变维查询特征向量进行非线性变换,得到变换后查询特征向量;
基于第二全连接层对变换后查询特征向量进行第二变维处理,得到前馈特征向量,其中,前馈特征向量和初步查询向量的特征维度相同。
可选地,搜索单元2560用于:
获取预设内容库,其中,预设内容库包括多个候选内容、以及每个候选内容的内容特征向量;
针对每个候选内容,计算候选内容的内容特征向量、和目标查询特征向量之间的相关性分数;
基于相关性分数,对多个候选内容进行排序;
将排序中排在前预定名次的候选内容确定为目标内容。
可选地,输入查询向量通过以下方式获取到:
获取输入查询文本;
对输入查询文本进行词向量化处理,得到输入查询向量。
可选地,对于输入查询向量中的任一个词,词在第一通道向量中所对应的第一元素的元素序号、与词在所述第二通道向量中所对应的第二元素的元素序号相同,其中,元素序号用于指示词在输入查询向量的排列顺序;
位置偏置矩阵通过以下方式获取到:
基于第一通道向量中的各个第一元素的元素序号与第二通道向量的元素序号中的各个第二元素的元素序号差,确定初步偏置矩阵的位置元素的取值;
基于预定斜率因子和初步偏置矩阵的乘积,确定位置偏置矩阵。
可选地,内容搜索装置2500还包括调整单元(未示出),调整单元(未示出)具体包括:
构造子单元(未示出),用于针对每个指定参考查询,构造正样本和负样本,正样本中的参考内容与指定参考查询对应,负样本中的参考内容与指定参考查询不对应;
第一计算子单元(未示出),用于针对每个指定参考查询,将与指定参考查询对应的正样本输入至预训练语言模型,得到指定参考查询的样本查询特征向量、和正样本中的参考内容的第一内容特征向量,并基于样本查询特征向量和第一内容特征向量计算第一相关性分数;
第二计算子单元(未示出),用于将与指定参考查询对应的负样本输入至预训练语言模型,得到指定参考查询的样本查询特征向量、和负样本中的参考内容的第二内容特征向量,并基于样本查询特征向量和第二内容特征向量计算第二相关性分数;
调整子单元(未示出),用于基于多个指定参考查询的第一相关性分数、和第二相关性分数对预训练语言模型的模型参数进行调整,得到文本向量模型。
可选地,构造子单元(未示出)用于:
获取第一对应关系表,第一对应关系表包括多个参考查询、和与多个参考查询一一对应的参考内容;
针对第一对应关系表中的每个指定参考查询,基于指定参考查询、以及与指定参考查询对应的参考内容构造正样本,并基于指定参考查询、以及与指定参考查询之外的其它参考查询对应的参考内容构造负样本。
可选地,调整子单元(未示出)用于:
针对每个指定参考查询,基于第一相关性分数、以及多个第二相关性分数的第一和,确定第一损失子函数;
对多个第一损失子函数进行求平均,确定第一损失函数;
基于第一损失函数对预训练语言模型的模型参数进行调整。
可选地,针对每个指定参考查询,基于第一相关性分数、以及多个第二相关性分数的第一和,确定第一损失子函数,包括:
针对每个指定参考查询的一个负样本的第二相关性分数作为自然常数的指数的第一结果,并将多个第一结果进行求和,得到第一和;
对以第一相关性分数作为自然常数的指数的第二结果、以及第一和进行相加,得到第二和;
对以第二和作为分母、以第一相关性分数作为自然常数的指数的第二结果作为分子的第一值取负对数,得到指定参考查询的第一损失子函数。
可选地,第一计算子单元(未示出)用于:
确定样本查询特征向量和第一内容特征向量之间的余弦相似度;
基于余弦相似度、和预定温度系数的商,确定第一相关性分数。
可选地,预定温度系数通过以下方式确定:
获取文本向量模型的目标精确率、目标召回率、和目标准确率;
基于目标精确率,确定第一分数;
基于目标召回率,确定第二分数;
基于目标准确率,确定第三分数;
基于第一分数、第二分数、和第三分数,得到预定温度系数。
可选地,内容搜索装置2500还包括生成单元(未示出),生成单元(未示出)具体包括:
获取子单元(未示出),用于获取多个样本句;
掩码子单元(未示出),用于将样本句分词,从分出的候选词中选择目标词,并对目标词进行掩码;
输入子单元(未示出),用于将掩码后的样本句输入至掩码语言模型,得到掩码预测结果;
计算子单元(未示出),用于基于多个样本句的目标词和掩码预测结果,计算第二损失函数;
训练子单元(未示出),用于基于第二损失函数,训练掩码语言模型,得到预训练语言模型。
可选地,获取子单元(未示出)用于:
获取针对目标任务的多个通用文本;
针对每个通用文本,对通用文本进行分句处理,得到多个文本句;
针对每个文本句,在文本句的起始位置添加第一符号,在文本句的结束位置添加第二符号,得到样本句。
可选地,掩码子单元(未示出)用于:
针对每个分出的候选词,确定候选词的重要性分数;
基于重要性分数,在候选词中选择预定数目个候选词作为目标词;
将目标词用目标字符替换,以对目标词进行掩码。
可选地,预定数目通过以下方式确定:
确定预训练语言模型的训练精度、和样本句的词语总数目;
基于训练精度,确定第一占比;
基于第一占比、和词语总数目的乘积,确定预定数目。
可选地,针对每个分出的候选词,确定候选词的重要性分数,包括:
针对每个分出的候选词,确定候选词与其他候选词的第一相关度、以及候选词与样本句的第二相关度;
基于第一相关度、和第二相关度,确定候选词的重要性分数。
可选地,掩码预测结果包括掩码预测词、和掩码预测词的第一概率;
计算子单元(未示出)用于:
针对每个样本句,确定样本句的多个掩码中掩码预测词与目标词一致的目标掩码;
基于每个目标掩码对应的掩码预测词的第一概率的负对数,得到样本句的第二损失子函数;
基于多个样本句的第二损失子函数,计算第二损失函数。
可选地,掩码语言模型包括嵌入层、自注意力模块、前馈神经网络、和线性层;
输入子单元(未示出)用于:
基于嵌入层对掩码后的样本句进行词向量化,得到掩码后的样本句的样本词向量特征;
基于样本词向量特征,通过自注意力模块、和前馈神经网络输出掩码后的样本句的样本句向量特征;
基于样本句向量特征,通过线性层进行掩码预测,得到样本句的掩码预测词、和掩码预测词的第一概率,并将掩码预测词和第一概率确定为掩码预测结果。
参照图26,图26为实现本公开实施例的内容搜索方法的终端的部分的结构框图,该终端包括:射频(Radio Frequency,简称RF)电路2610、存储器2615、输入单元2630、显示单元2640、传感器2650、音频电路2660、无线保真(wireless fidelity,简称WiFi)模块2670、处理器2680、以及电源2690等部件。本领域技术人员可以理解,图26示出的终端结构并不构成对手机或电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路2610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器2680处理;另外,将设计上行的数据发送给基站。
存储器2615可用于存储软件程序以及模块,处理器2680通过运行存储在存储器2615的软件程序以及模块,从而执行对象终端的各种功能应用以及数据处理。
输入单元2630可用于接收输入的数字或字符信息,以及产生与对象终端的设置以及功能控制有关的键信号输入。具体地,输入单元2630可包括触控面板2631以及其他输入装置2632。
显示单元2640可用于显示输入的信息或提供的信息以及对象终端的各种菜单。显示单元2640可包括显示面板2641。
音频电路2660、扬声器2661,传声器2662可提供音频接口。
在本实施例中,该终端所包括的处理器2680可以执行前面实施例的内容搜索方法。
本公开实施例的终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本发明实施例可应用于各种场景,包括但不限于数据安全、区块链、数据存储、信息技术等。
图27为实施本公开实施例的内容搜索方法的服务器的部分的结构框图。服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(CentralProcessing Units,简称CPU)2722(例如,一个或一个以上处理器)和存储器2732,一个或一个以上存储应用程序2742或数据2744的存储介质2730(例如一个或一个以上海量存储装置)。其中,存储器2732和存储介质2730可以是短暂存储或持久存储。存储在存储介质2730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器2722可以设置为与存储介质2730通信,在服务器上执行存储介质2730中的一系列指令操作。
服务器还可以包括一个或一个以上电源2726,一个或一个以上有线或无线网络接口2750,一个或一个以上输入输出接口2758,和/或,一个或一个以上操作系统2741,例如Windows ServerTM,Mac OS XTM,UnixTM ,LinuxTM,FreeBSDTM等等。
服务器中的中央处理器2722可以用于执行本公开实施例的内容搜索方法。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的内容搜索方法。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序。计算机设备的处理器读取该计算机程序并执行,使得该计算机设备执行实现上述的内容搜索方法。
本公开的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本公开中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
应了解,在本公开实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本公开实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本公开的实施方式的具体说明,但本公开并不局限于上述实施方式,熟悉本领域的技术人员在不违背本公开精神的条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本公开权利要求所限定的范围内。
Claims (20)
1.一种内容搜索方法,其特征在于,所述方法包括:
获取输入查询向量;
将所述输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道,分别得到第一通道向量、第二通道向量和第三通道向量;
对所述第一通道向量和所述第二通道向量进行注意力计算,得到第一注意力矩阵;其中,所述第一注意力矩阵用于指示所述第一通道向量中的各个第一元素对所述第二通道向量中的各个第二元素的关注程度;
获取位置偏置矩阵,其中,所述位置偏置矩阵用于指示所述第一通道向量中的各个所述第一元素与所述第二通道向量中的各个所述第二元素的距离大小,所述位置偏置矩阵中的各个位置元素与所述第一注意力矩阵的各个注意力元素是正相关的;
基于所述第一注意力矩阵和所述位置偏置矩阵,确定第二注意力矩阵,并基于所述第三通道向量和所述第二注意力矩阵,确定目标查询特征向量;
基于所述目标查询特征向量,搜索目标内容。
2.根据权利要求1所述的内容搜索方法,其特征在于,所述基于所述第三通道向量和所述第二注意力矩阵,确定目标查询特征向量,包括:
基于所述第三通道向量和所述第二注意力矩阵,确定注意力修正向量,并将迭代次数加1,所述迭代次数初始化为0;
将所述注意力修正向量作为所述输入查询向量,返回将所述输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道的步骤,直到所述迭代次数达到第一次数后,将所述注意力修正向量确定为所述目标查询特征向量。
3.根据权利要求2所述的内容搜索方法,其特征在于,所述基于所述第三通道向量和所述第二注意力矩阵,确定注意力修正向量,包括:
基于所述第三通道向量和所述第二注意力矩阵,得到注意力计算结果;
基于所述注意力计算结果、和所述输入查询向量的残差和,确定初步查询向量;
基于所述文本向量模型的前馈神经网络对所述初步查询向量进行前馈处理,得到前馈特征向量;
基于所述前馈特征向量、和所述初步查询向量的残差和,得到所述注意力修正向量。
4.根据权利要求1所述的内容搜索方法,其特征在于,所述基于所述目标查询特征向量,搜索目标内容,包括:
获取预设内容库,其中,所述预设内容库包括多个候选内容、以及每个所述候选内容的内容特征向量;
针对每个所述候选内容,计算所述候选内容的内容特征向量、和所述目标查询特征向量之间的相关性分数;
基于所述相关性分数,对多个所述候选内容进行排序;
将所述排序中排在前预定名次的所述候选内容确定为所述目标内容。
5.根据权利要求1所述的内容搜索方法,其特征在于,对于所述输入查询向量中的任一个词,所述词在所述第一通道向量中所对应的第一元素的元素序号、与所述词在所述第二通道向量中所对应的第二元素的元素序号相同,其中,所述元素序号用于指示所述词在所述输入查询向量的排列顺序;
所述位置偏置矩阵通过以下方式获取到:
基于所述第一通道向量中的各个所述第一元素的元素序号与所述第二通道向量中的各个所述第二元素的元素序号的元素序号差,确定初步偏置矩阵的所述位置元素的取值;
基于预定斜率因子和所述初步偏置矩阵的乘积,确定所述位置偏置矩阵。
6.根据权利要求1所述的内容搜索方法,其特征在于,所述文本向量模型通过以下方式对预训练语言模型进行调整得到:
针对每个指定参考查询,构造正样本和负样本,所述正样本中的参考内容与所述指定参考查询对应,所述负样本中的所述参考内容与所述指定参考查询不对应;
针对每个所述指定参考查询,将与所述指定参考查询对应的所述正样本输入至所述预训练语言模型,得到所述指定参考查询的样本查询特征向量、和所述正样本中的所述参考内容的第一内容特征向量,并基于所述样本查询特征向量和所述第一内容特征向量计算第一相关性分数;
将与所述指定参考查询对应的所述负样本输入至所述预训练语言模型,得到所述指定参考查询的样本查询特征向量、和所述负样本中的所述参考内容的第二内容特征向量,并基于所述样本查询特征向量和所述第二内容特征向量计算第二相关性分数;
基于多个所述指定参考查询的所述第一相关性分数、和所述第二相关性分数对所述预训练语言模型的模型参数进行调整,得到所述文本向量模型。
7.根据权利要求6所述的内容搜索方法,其特征在于,所述针对每个指定参考查询,构造正样本和负样本,包括:
获取第一对应关系表,所述第一对应关系表包括多个参考查询、和与多个所述参考查询一一对应的参考内容;
针对所述第一对应关系表中的每个指定参考查询,基于所述指定参考查询、以及与所述指定参考查询对应的所述参考内容构造所述正样本,并基于所述指定参考查询、以及与所述指定参考查询之外的其它参考查询对应的所述参考内容构造所述负样本。
8.根据权利要求6所述的内容搜索方法,其特征在于,所述基于多个所述指定参考查询的所述第一相关性分数、和所述第二相关性分数对所述预训练语言模型的模型参数进行调整,包括:
针对每个所述指定参考查询,基于所述第一相关性分数、以及多个所述第二相关性分数的第一和,确定第一损失子函数;
对多个所述第一损失子函数进行求平均,确定第一损失函数;
基于所述第一损失函数对所述预训练语言模型的模型参数进行调整。
9.根据权利要求8所述的内容搜索方法,其特征在于,所述针对每个所述指定参考查询,基于所述第一相关性分数、以及多个所述第二相关性分数的第一和,确定第一损失子函数,包括:
针对每个所述指定参考查询的一个负样本的第二相关性分数作为自然常数的指数的第一结果,并将多个所述第一结果进行求和,得到第一和;
对以所述第一相关性分数作为自然常数的指数的第二结果、以及所述第一和进行相加,得到第二和;
对以所述第二和作为分母、以所述第一相关性分数作为自然常数的指数的第二结果作为分子的第一值取负对数,得到所述指定参考查询的第一损失子函数。
10.根据权利要求6所述的内容搜索方法,其特征在于,所述基于所述样本查询特征向量和所述第一内容特征向量计算第一相关性分数,包括:
确定所述样本查询特征向量和所述第一内容特征向量之间的余弦相似度;
基于所述余弦相似度、和预定温度系数的商,确定所述第一相关性分数。
11.根据权利要求6所述的内容搜索方法,其特征在于,所述预训练语言模型通过以下方式生成:
获取多个样本句;
将所述样本句分词,从分出的候选词中选择目标词,并对所述目标词进行掩码;
将掩码后的所述样本句输入至掩码语言模型,得到掩码预测结果;
基于所述多个所述样本句的所述目标词和所述掩码预测结果,计算第二损失函数;
基于所述第二损失函数,训练所述掩码语言模型,得到所述预训练语言模型。
12.根据权利要求11所述的内容搜索方法,其特征在于,所述掩码预测结果包括掩码预测词、和所述掩码预测词的第一概率;
所述基于所述多个所述样本句的所述目标词和所述掩码预测结果,计算第二损失函数,包括:
针对每个所述样本句,确定所述样本句的多个所述掩码中所述掩码预测词与所述目标词一致的目标掩码;
基于每个所述目标掩码对应的所述掩码预测词的所述第一概率的负对数,得到所述样本句的第二损失子函数;
基于多个所述样本句的所述第二损失子函数,计算所述第二损失函数。
13.根据权利要求11所述的内容搜索方法,其特征在于,所述从分出的候选词中选择目标词,并对所述目标词进行掩码,包括:
针对每个分出的所述候选词,确定所述候选词的重要性分数;
基于所述重要性分数,在所述候选词中选择预定数目个所述候选词作为所述目标词;
将所述目标词用目标字符替换,以对所述目标词进行掩码。
14.根据权利要求11所述的内容搜索方法,其特征在于,所述样本句通过以下方式获取到:
获取针对目标任务的多个通用文本;
针对每个所述通用文本,对所述通用文本进行分句处理,得到多个文本句;
针对每个所述文本句,在所述文本句的起始位置添加第一符号,在所述文本句的结束位置添加第二符号,得到所述样本句。
15.根据权利要求1所述的内容搜索方法,其特征在于,所述输入查询向量通过以下方式获取到:
获取输入查询文本;
对所述输入查询文本进行词向量化处理,得到所述输入查询向量。
16.根据权利要求3所述的内容搜索方法,其特征在于,所述前馈神经网络包括第一全连接层、激活函数、和第二全连接层;
所述基于所述文本向量模型的前馈神经网络对所述初步查询向量进行前馈处理,得到前馈特征向量,包括:
基于所述第一全连接层对所述初步查询向量进行第一变维处理,得到变维查询特征向量;
基于所述激活函数对所述变维查询特征向量进行非线性变换,得到变换后查询特征向量;
基于所述第二全连接层对所述变换后查询特征向量进行第二变维处理,得到所述前馈特征向量,其中,所述前馈特征向量和所述初步查询向量的特征维度相同。
17.一种内容搜索装置,其特征在于,所述装置包括:
第一获取单元,用于获取输入查询向量;
输入单元,用于将所述输入查询向量输入文本向量模型的自注意力模块中的第一通道、第二通道和第三通道,分别得到第一通道向量、第二通道向量和第三通道向量;
计算单元,用于对所述第一通道向量和所述第二通道向量进行注意力计算,得到第一注意力矩阵;其中,所述第一注意力矩阵用于指示所述第一通道向量中的各个第一元素对所述第二通道向量中的各个第二元素的关注程度;
第二获取单元,用于获取位置偏置矩阵,其中,所述位置偏置矩阵用于指示所述第一通道向量中的各个所述第一元素与所述第二通道向量中的各个所述第二元素的距离大小,所述位置偏置矩阵中的各个位置元素与所述第一注意力矩阵的各个注意力元素是正相关的;
确定单元,用于基于所述第一注意力矩阵和所述位置偏置矩阵,确定第二注意力矩阵,并基于所述第三通道向量和所述第二注意力矩阵,确定目标查询特征向量;
搜索单元,用于基于所述目标查询特征向量,搜索目标内容。
18.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16任意一项所述的内容搜索方法。
19.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16任意一项所述的内容搜索方法。
20.一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行权利要求1至16任意一项所述的内容搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410480913.1A CN118113815B (zh) | 2024-04-22 | 2024-04-22 | 内容搜索方法、相关装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410480913.1A CN118113815B (zh) | 2024-04-22 | 2024-04-22 | 内容搜索方法、相关装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118113815A true CN118113815A (zh) | 2024-05-31 |
CN118113815B CN118113815B (zh) | 2024-07-09 |
Family
ID=91212305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410480913.1A Active CN118113815B (zh) | 2024-04-22 | 2024-04-22 | 内容搜索方法、相关装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118113815B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021174871A1 (zh) * | 2020-09-01 | 2021-09-10 | 平安科技(深圳)有限公司 | 数据查询方法、系统、计算机设备及存储介质 |
CN114372457A (zh) * | 2022-01-11 | 2022-04-19 | 上海商汤智能科技有限公司 | 数据处理方法、装置、电子设备以及存储介质 |
CN116431807A (zh) * | 2023-03-31 | 2023-07-14 | 本源量子计算科技(合肥)股份有限公司 | 一种文本分类方法、装置、存储介质及电子装置 |
-
2024
- 2024-04-22 CN CN202410480913.1A patent/CN118113815B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021174871A1 (zh) * | 2020-09-01 | 2021-09-10 | 平安科技(深圳)有限公司 | 数据查询方法、系统、计算机设备及存储介质 |
CN114372457A (zh) * | 2022-01-11 | 2022-04-19 | 上海商汤智能科技有限公司 | 数据处理方法、装置、电子设备以及存储介质 |
CN116431807A (zh) * | 2023-03-31 | 2023-07-14 | 本源量子计算科技(合肥)股份有限公司 | 一种文本分类方法、装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN118113815B (zh) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959246B (zh) | 基于改进的注意力机制的答案选择方法、装置和电子设备 | |
CN110598206B (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN109033068B (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
AU2016256753B2 (en) | Image captioning using weak supervision and semantic natural language vector space | |
CN110795527B (zh) | 候选实体排序方法、训练方法及相关装置 | |
CN111382868A (zh) | 神经网络结构搜索方法和神经网络结构搜索装置 | |
CN112015868A (zh) | 基于知识图谱补全的问答方法 | |
JP7417679B2 (ja) | 情報抽出方法、装置、電子機器及び記憶媒体 | |
CN110990596B (zh) | 一种基于自适应量化多模态哈希检索方法及系统 | |
CN113268609A (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
CN111291187B (zh) | 一种情感分析方法、装置、电子设备及存储介质 | |
CN109145083B (zh) | 一种基于深度学习的候选答案选取方法 | |
CN116523583A (zh) | 电子商务数据分析系统及其方法 | |
CN111090765B (zh) | 一种基于缺失多模态哈希的社交图像检索方法及系统 | |
CN111767697A (zh) | 文本处理方法、装置、计算机设备以及存储介质 | |
CN117114063A (zh) | 用于训练生成式大语言模型和用于处理图像任务的方法 | |
CN111611395B (zh) | 一种实体关系的识别方法及装置 | |
CN117743517A (zh) | 基于人工智能的智慧冰雪旅游管理系统及方法 | |
CN117290478A (zh) | 一种知识图谱问答方法、装置、设备和存储介质 | |
CN117113146A (zh) | 主体分类处理方法、相关装置和介质 | |
CN118113815B (zh) | 内容搜索方法、相关装置和介质 | |
CN116341564A (zh) | 基于语义理解的问题推理方法和装置 | |
CN116957128A (zh) | 业务指标预测方法、装置、设备和存储介质 | |
CN113792121B (zh) | 阅读理解模型的训练方法及装置、阅读理解方法及装置 | |
CN114970494A (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 | ||
GR01 | Patent grant |