CN111460303B - 数据处理方法、装置、电子设备及计算机可读存储介质 - Google Patents

数据处理方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111460303B
CN111460303B CN202010247367.9A CN202010247367A CN111460303B CN 111460303 B CN111460303 B CN 111460303B CN 202010247367 A CN202010247367 A CN 202010247367A CN 111460303 B CN111460303 B CN 111460303B
Authority
CN
China
Prior art keywords
model
vector
type
sub
layer
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.)
Active
Application number
CN202010247367.9A
Other languages
English (en)
Other versions
CN111460303A (zh
Inventor
周瑜
臧云飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rajax Network Technology Co Ltd
Original Assignee
Rajax Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rajax Network Technology Co Ltd filed Critical Rajax Network Technology Co Ltd
Priority to CN202010247367.9A priority Critical patent/CN111460303B/zh
Publication of CN111460303A publication Critical patent/CN111460303A/zh
Application granted granted Critical
Publication of CN111460303B publication Critical patent/CN111460303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

本公开实施例公开了一种数据处理方法、装置、电子设备及计算机可读存储介质,所述数据处理方法包括通过处理器根据第一文本数据,利用第一模型获取第一文本语义向量,根据第二文本数据,利用所述第一模型获取第二文本语义向量;将所述第一文本语义向量输入第二模型,将所述第二文本语义向量输入第三模型,将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,获取所述第二模型输出的第三文本语义向量和所述第三模型输出的第四文本语义向量;基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度,提高了对用户搜索需求的识别能力。

Description

数据处理方法、装置、电子设备及计算机可读存储介质
技术领域
本公开涉及计算机应用技术领域,具体涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。
背景技术
搜索引擎根据用户的查询请求返回相应的查询结果。用户输入查询请求时,可能由于输入法或其他原因导致输入的查询文本不准确,此时可以根据用户输入的查询文本自动识别其真实查询意图,对查询文本进行改写,并基于查询文本以及改写后的查询文本返回查询结果。互联网平台的搜索引擎的查询改写过程一般包括召回阶段和排序阶段,其中,召回阶段是根据用户输入的查询文本,获取与查询文本相关联的多个关联文本,排序阶段通过传统机器学习模型计算查询文本与多个关联文本的相似度,将相似度较高的一定数量的关联文本确定为用户输入的查询文本的查询改写文本,并将查询文本以及查询改写文本一并作为输入,从而获取更加丰富和准确的查询结果。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种数据处理方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种数据处理方法。
具体地,所述数据处理方法,包括:
通过处理器根据第一文本数据,利用第一模型获取第一文本语义向量,根据第二文本数据,利用所述第一模型获取第二文本语义向量,其中,所述第一模型是训练好的模型;
将所述第一文本语义向量输入第二模型,将所述第二文本语义向量输入第三模型,将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,获取所述第二模型输出的第三文本语义向量和所述第三模型输出的第四文本语义向量,其中,所述第二模型和所述第三模型是训练好的模型,所述第一类型向量包括查询向量或键向量;
基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度。
结合第一方面,本公开在第一方面的第一种实现方式中,所述第二模型包括沿所述第二模型的输入到输出方向依次连接的第1到第N个第一子模型,所述第一子模型包括沿所述第一子模型的输入到输出方向依次连接的第一线性层、第一多头注意力层、第一残差归一化层、第一前馈神经网络层和第二残差归一化层;
所述第三模型包括沿所述第三模型的输入到输出方向依次连接的第1到第N个第二子模型,所述第二子模型包括沿所述第二子模型的输入到输出方向依次连接的第二线性层、第二多头注意力层、第三残差归一化层、第二前馈神经网络层和第四残差归一化层,其中,N≥1。
结合第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,所述第一组第一类型向量包括M个第一类型向量VA1i,所述第二组第一类型向量包括M个第一类型向量VA2i,其中,1≤M≤N,i取不小于1且不大于N的任意一个或多个值;
通过第i个所述第一子模型的所述第一线性层生成所述第一类型向量VA1i,通过第i个所述第二子模型的所述第二线性层生成所述第一类型向量VA2i;所述将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,包括:将第一类型向量VA1i输入第i个所述第二子模型的所述第二多头注意力层,将第一类型向量VA2i输入第i个所述第一子模型的所述第一多头注意力层。
结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,还包括:
通过第j个所述第一子模型的所述第一线性层,生成第二类型向量VB1j和第三类型向量VC1j,通过第j个所述第二子模型的所述第二线性层,生成第二类型向量VB2j和第三类型向量VC2j,j=1~N;
通过第k个所述第一子模型的所述第一线性层生成第一类型向量VA1k,通过第k个所述第二子模型的所述第二线性层生成所述第一类型向量VA2k,k取不小于1且不大于N的数值中不等于i的值;
将第二类型向量VB1j和第三类型向量VC1j输入所述第j个所述第一子模型的所述第一多头注意力层,将第二类型向量VB2j和第三类型向量VC2j输入第j个所述第二子模型的所述第二多头注意力层;
将第一类型向量VA1k输入第k个所述第一子模型的所述第一多头注意力层,将第一类型向量VA2k输入第k个所述第二子模型的所述第二多头注意力层,
其中:当第一类型向量是查询向量时,第二类型向量是值向量,第三类型向量是键向量,当第一类型向量是键向量时,第二类型向量是值向量,第三类型向量是查询向量。
结合第一方面的第二种实现方式,本公开在第一方面的第四种实现方式中,i的取值至少包括1。
结合第一方面,本公开在第一方面的第五种实现方式中,所述基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度,包括:
将所述第三文本语义向量输入至第一池化层,获取第一池化结果;
将所述第四文本语义向量输入至第二池化层,获取第二池化结果;
将所述第一池化结果和所述第二池化结果的拼接结果输入至全连接层,获取所述第三文本语义向量以及所述第四文本语义向量的相似概率;
根据所述相似概率,确定所述第一文本数据和所述第二文本数据的相似度。
结合第一方面,本公开在第一方面的第六种实现方式中,还包括:
根据所述第一文本数据和所述多个第二文本数据的相似度,确定目标文本数据。
结合第一方面,本公开在第一方面的第七种实现方式中,所述第一模型包括BERT模型,所述BERT模型的训练过程包括:
基于领域专业词汇,对预训练的BERT模型进行微调,获取训练好的BERT模型;和/或
利用全词覆盖的掩码方式,对预训练的BERT模型进行微调,获取训练好的BERT模型。
第二方面,本公开实施例中提供了一种数据处理装置。
具体地,所述数据处理装置,包括:
第一获取模块,被配置为通过处理器根据第一文本数据,利用第一模型获取第一文本语义向量,根据第二文本数据,利用所述第一模型获取第二文本语义向量,其中,所述第一模型是训练好的模型;
第二获取模块,被配置为将所述第一文本语义向量输入第二模型,将所述第二文本语义向量输入第三模型,将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,获取所述第二模型输出的第三文本语义向量和所述第三模型输出的第四文本语义向量,其中,所述第二模型和所述第三模型是训练好的模型,所述第一类型向量包括查询向量或键向量;
第一确定模块,被配置为基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度。
结合第二方面,本公开在第二方面的第一种实现方式中,所述第二模型包括沿所述第二模型的输入到输出方向依次连接的第1到第N个第一子模型,所述第一子模型包括沿所述第一子模型的输入到输出方向依次连接的第一线性层、第一多头注意力层、第一残差归一化层、第一前馈神经网络层和第二残差归一化层;
所述第三模型包括沿所述第三模型的输入到输出方向依次连接的第1到第N个第二子模型,所述第二子模型包括沿所述第二子模型的输入到输出方向依次连接的第二线性层、第二多头注意力层、第三残差归一化层、第二前馈神经网络层和第四残差归一化层,其中,N≥1。
结合第二方面的第一种实现方式,本公开在第二方面的第二种实现方式中,所述第一组第一类型向量包括M个第一类型向量VA1i,所述第二组第一类型向量包括M个第一类型向量VA2i,其中,1≤M≤N,i取不小于1且不大于N的任意一个或多个值;
通过第i个所述第一子模型的所述第一线性层生成所述第一类型向量VA1i,通过第i个所述第二子模型的所述第二线性层生成所述第一类型向量VA2i;所述将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,包括:将第一类型向量VA1i输入第i个所述第二子模型的所述第二多头注意力层,将第一类型向量VA2i输入第i个所述第一子模型的所述第一多头注意力层。
结合第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,还包括:
第一生成模块,被配置为通过第j个所述第一子模型的所述第一线性层,生成第二类型向量VB1j和第三类型向量VC1j,通过第j个所述第二子模型的所述第二线性层,生成第二类型向量VB2j和第三类型向量VC2j,j=1~N;
第二生成模块,被配置为通过第k个所述第一子模型的所述第一线性层生成第一类型向量VA1k,通过第k个所述第二子模型的所述第二线性层生成所述第一类型向量VA2k,k取不小于1且不大于N的数值中不等于i的值;
第一输入模块,被配置为将第二类型向量VB1j和第三类型向量VC1j输入所述第j个所述第一子模型的所述第一多头注意力层,将第二类型向量VB2j和第三类型向量VC2j输入第j个所述第二子模型的所述第二多头注意力层;
第二输入模块,被配置为将第一类型向量VA1k输入第k个所述第一子模型的所述第一多头注意力层,将第一类型向量VA2k输入第k个所述第二子模型的所述第二多头注意力层,
其中:当第一类型向量是查询向量时,第二类型向量是值向量,第三类型向量是键向量,当第一类型向量是键向量时,第二类型向量是值向量,第三类型向量是查询向量。
结合第二方面的第二种实现方式,本公开在第二方面的第四种实现方式中,i的取值至少包括1。
结合第二方面,本公开在第二方面的第五种实现方式中,所述基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度,包括:
将所述第三文本语义向量输入至第一池化层,获取第一池化结果;
将所述第四文本语义向量输入至第二池化层,获取第二池化结果;
将所述第一池化结果和所述第二池化结果的拼接结果输入至全连接层,获取所述第三文本语义向量以及所述第四文本语义向量的相似概率;
根据所述相似概率,确定所述第一文本数据和所述第二文本数据的相似度。
结合第二方面,本公开在第二方面的第六种实现方式中,还包括:
第二确定模块,被配置为根据所述第一文本数据和所述多个第二文本数据的相似度,确定目标文本数据。
结合第二方面,本公开在第二方面的第七种实现方式中,所述第一模型包括BERT模型,所述BERT模型的训练过程包括:
基于领域专业词汇,对预训练的BERT模型进行微调,获取训练好的BERT模型;和/或
利用全词覆盖的掩码方式,对预训练的BERT模型进行微调,获取训练好的BERT模型。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面、第一方面的第一种实现方式至第七种实现方式任一项所述的方法。
第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种实现方式至第七种实现方式任一项所述的方法。
根据本公开实施例提供的技术方案,通过处理器根据第一文本数据和第二文本数据,利用第一模型获取第一文本语义向量和第二文本语义向量,其中,所述第一模型是训练好的模型,可以将第一文本语义向量输入第二模型,将第二文本语义向量输入第三模型,将第二模型生成的第一组第一类型向量输入第三模型,将第三模型生成的第二组第一类型向量输入第二模型,获取第二模型输出的第三文本语义向量和第三模型输出的第四文本语义向量,其中,所述第二模型和所述第三模型是训练好的模型,第一类型向量包括查询向量或键向量,并基于第三文本语义向量和第四文本语义向量,确定第一文本数据和第二文本数据的相似度。本公开实施例通过将基于第一文本语义向量生成的第一类型向量和基于第二文本语义向量生成的第一类型向量交叉输入至第三模型和第二模型,从第一文本语义向量-第二文本语义向量和第二文本语义向量-第一文本语义向量两个方向,从语义关联的角度深度挖掘出与第一文本数据语义关系紧密的第二文本数据,提高了判断第一文本数据和第二文本数据的相似度的准确率,提高了获取的查询改写文本的准确度以及覆盖率,从而提高了对用户搜索需求的识别能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开的实施例的数据处理方法的流程图;
图2A示出根据本公开实施例的第二模型的结构示意图;
图2B示出根据本公开实施例的第三模型的结构示意图;
图3A示出根据本公开实施例的数据处理的示意图;
图3B示出根据本公开实施例的数据处理的示意图;
图4A示出根据本公开实施例的数据处理的示意图;
图4B示出根据本公开实施例的数据处理的示意图;
图5示出根据本公开实施例的确定所述第一文本数据和所述第二文本数据的相似度的示意图;
图6示出根据本公开实施例的数据处理方法的应用场景示意图;
图7示出根据本公开的实施例的数据处理装置的结构框图;
图8示出根据本公开的实施例的电子设备的结构框图;
图9示出适于用来实现根据本公开实施例的数据处理方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
如上文所述,在排序阶段中,现有技术一般采用传统的机器学习模型计算查询文本与关联文本的相似度,传统的机器学习模型例如包括逻辑回归(Logistic Regression)模型、梯度提升决策树(GBDT)模型和极限梯度提升(Xgboost)模型等。上述机器学习模型的训练数据来源于人工标注的训练样本,若人工标注的训练样本存在标注错误等现象,会对训练阶段的机器学习模型的收敛性和线上的鲁棒性造成影响。
同时,上述机器学习模型由于其自身表达能力有限的问题,对特征工程的要求很高,而现有的特征工程,考虑到线上性能及响应时长问题,并不适合在特征工程上引入语义特征信息,一般仅根据查询文本与关联文本的统计特征以及文本匹配特征确定两者的相似度,会使获取的机器学习模型的整体表达能力有限,导致获取的查询改写文本准确度以及覆盖率不理想,难以满足用户真实的搜索需求。
为至少部分地解决发明人发现的现有技术中的问题而提出本公开。
图1示出根据本公开的实施例的数据处理方法的流程图。如图1所示,所述数据处理方法包括以下步骤S101-S103:
在步骤S101中,通过处理器根据第一文本数据,利用第一模型获取第一文本语义向量,根据第二文本数据,利用所述第一模型获取第二文本语义向量,其中,所述第一模型是训练好的模型;
在步骤S102中,将所述第一文本语义向量输入第二模型,将所述第二文本语义向量输入第三模型,将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,获取所述第二模型输出的第三文本语义向量和所述第三模型输出的第四文本语义向量,其中,所述第二模型和所述第三模型是训练好的模型,所述第一类型向量包括查询向量或键向量;
在步骤S103中,基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度。
根据本公开的实施例,可以获取第一文本数据,第一文本数据可以是用户通过终端设备输入的查询语句(query)。可以基于第一文本数据,获取多个与第一文本数据相关联的第二文本数据(similar query)。例如,在电商领域,第一文本数据可以包括商品的名称,第二文本数据可以包括与该商品相关联的多个商品名称;例如,在外卖领域,第一文本数据可以包括菜品的名称,第二文本数据可以包括与该菜品相关联的多个菜品名称或者原材料名称;在搜索引擎领域,第一文本数据可以包括关键词或者查询语句,第二文本数据可以包括与该关键词或者查询语句相关联的多个关键词或者查询语句。本公开对获取第一文本数据和第二文本数据的方法不做具体限定,可以根据实际需要进行选择。
根据本公开的实施例,为了获取第一文本数据和每个第二文本数据的语义特征,可以利用训练好的第一模型获取第一文本数据对应的第一文本语义向量,以及第二文本数据对应的第二文本语义向量,从而通过第一模型引入第一文本数据和每个第二文本数据的语义特征。本公开对第一模型不做具体限定,只要可以实现将文本数据转换为embedding向量的模型均在本公开实施例的保护范围之内,比如,汉语语音模型(CLM模型)、连续词袋模型(CBOW模型)、word2vector模型、item2vector模型或BERT(Bidirectional EncoderRepresentations from Transformers,基于变换器的双向编码器表示)模型等。
根据本公开的实施例,可以将第一文本语义向量输入第二模型,以便于第二模型可以提取第一文本语义向量的语义特征;并将第二文本语义向量输入第三模型,以便于第三模型可以提取第二文本语义向量的语义特征,其中,第二模型和第三模型可以为训练好的深度学习模型,本公开对其不做具体限定,可以根据实际需要进行选择。
本公开的发明人认识到,如果第一文本语义向量与第二文本语义向量相关,则第二文本语义向量必然与第一文本语义向量相关,反之,若第一文本语义向量与第二文本语义向量不相关,则第二文本语义向量与第一文本语义向量也不相关。根据本公开的实施例,为了更好地匹配第一文本语义向量和第二文本语义向量之间的语义关联关系,可以将第二模型生成的第一组第一类型向量输入第三模型,将第三模型生成的第二组第一类型向量输入第二模型。由于第二模型生成的第一组第一类型向量中包括与第一文本语义向量相关的语义特征,通过将第一组第一类型向量输入第三模型,可以使第三模型也同时获取与第一文本语义向量相关的语义特征,同理,第二模型也可以同时获取与第二文本语义向量相关的语义特征,即通过上述第一类型向量的交叉输入,可以使第二模型以及第三模型都能够获取与第一文本语义向量以及第二文本语义向量相关的语义特征。
根据本公开的实施例,由于第三文本语义向量和第四文本语义向量的相似度在一定程度上可以表征第一文本数据和第二文本数据的相似度,因此,可以基于第三文本语义向量和第四文本语义向量的相似度,确定第一文本数据和第二文本数据的相似度。
根据本公开实施例提供的技术方案,通过处理器根据第一文本数据和第二文本数据,利用第一模型获取第一文本语义向量和第二文本语义向量,其中,第一模型是训练好的模型,可以将第一文本语义向量输入第二模型,将第二文本语义向量输入第三模型,将第二模型生成的第一组第一类型向量输入第三模型,将第三模型生成的第二组第一类型向量输入第二模型,获取第二模型输出的第三文本语义向量和第三模型输出的第四文本语义向量,其中,第二模型和第三模型是训练好的模型,第一类型向量包括查询向量或键向量,并基于第三文本语义向量和第四文本语义向量,确定第一文本数据和第二文本数据的相似度。本公开实施例通过将基于第一文本语义向量生成的第一类型向量和基于第二文本语义向量生成的第一类型向量交叉输入至第三模型和第二模型,从第一文本语义向量-第二文本语义向量和第二文本语义向量-第一文本语义向量两个方向,从语义关联的角度深度挖掘出与第一文本数据语义关系紧密的第二文本数据,提高了判断第一文本数据和第二文本数据的相似度的准确率,提高了获取的查询改写文本的准确度以及覆盖率,从而提高了对用户搜索需求的识别能力。
根据本公开的实施例,所述第二模型包括沿所述第二模型的输入到输出方向依次连接的第1到第N个第一子模型,所述第一子模型包括沿所述第一子模型的输入到输出方向依次连接的第一线性层、第一多头注意力层、第一残差归一化层、第一前馈神经网络层和第二残差归一化层;
所述第三模型包括沿所述第三模型的输入到输出方向依次连接的第1到第N个第二子模型,所述第二子模型包括沿所述第二子模型的输入到输出方向依次连接的第二线性层、第二多头注意力层、第三残差归一化层、第二前馈神经网络层和第四残差归一化层,其中,N≥1。
图2A示出根据本公开实施例的第二模型的结构示意图。如图2A所示,第二模型201包括沿第二模型201的输入到输出方向依次连接的第1个第一子模型、第2个第一子模型、……、第N个第一子模型,其中每个第一子模型包括沿第一子模型的输入到输出方向依次连接的第一线性层(Linear)、第一多头注意力层(Multi-Head Attention)、第一残差归一化层(Add&Norm)、第一前馈神经网络层(Feed Forward)和第二残差归一化层。
图2B示出根据本公开实施例的第三模型的结构示意图。如图2B所示,第三模型202包括沿第三模型202的输入到输出方向依次连接的第1个第二子模型、第2个第二子模型、……、第N个第二子模型,其中每个第二子模型包括沿第二子模型的输入到输出方向依次连接的第二线性层、第二多头注意力层、第三残差归一化层、第二前馈神经网络层和第四残差归一化层。
第一线性层可以将输入的语义向量(对于第一个第一子模型而言,是第一文本语义向量,对于其他第一子模型而言,是前一第一子模型输出的语义向量)转化为第一类型向量、第二类型向量和第三类型向量。第二线性层可以将输入的语义向量(对于第一个第二子模型而言,是第二文本语义向量,对于其他第二子模型而言,是前一第二子模型输出的语义向量)转化为第一类型向量、第二类型向量和第三类型向量。
根据本公开的实施例,当第一类型向量是查询向量时,第二类型向量是值向量,第三类型向量是键向量;当第一类型向量是键向量时,第二类型向量是值向量,第三类型向量是查询向量。
本公开实施例通过引入多头注意力机制能够很好地区分各个词语对句子语义的不同贡献,从而调整不同词语的权重形成更有侧重点的词向量信息,调整输入文本的词句向量表示,从而获得更准确的结果。
根据本公开的实施例,所述第一组第一类型向量包括M个第一类型向量VA1i,所述第二组第一类型向量包括M个第一类型向量VA2i,其中,1≤M≤N,i取不小于1且不大于N的任意一个或多个值;
通过第i个所述第一子模型的所述第一线性层生成所述第一类型向量VA1i,通过第i个所述第二子模型的所述第二线性层生成所述第一类型向量VA2i;所述将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,包括:将第一类型向量VA1i输入第i个所述第二子模型的所述第二多头注意力层,将第一类型向量VA2i输入第i个所述第一子模型的所述第一多头注意力层。
根据本公开的实施例,可以将第二模型的任意一个或者多个第一子模型中的第一线性层生成的第一类型向量,与第三模型对应的一个或者多个第二子模型中的第二线性层生成的第一类型向量,进行交叉输入,从而可以使第二模型以及第三模型可以同时深度提取第一文本语义向量以及第二文本语义向量的语义特征,为确定第一文本语义向量以及第二文本语义向量的相似性奠定基础。
图3A示出根据本公开实施例的数据处理的示意图,应理解,本公开实施例将以N=M=i=1为例进行说明。应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中N、M和i的具体取值可以根据实际需要进行设定,本公开对此不作具体限定。
如图3A所示,当N=1时,第二模型301A包括1个第一子模型,第三模型301B包括1个第二子模型。
可以将第一文本数据通过第一模型获取的第一文本语义向量输入至第二模型301A即第一子模型中的第一线性层,生成第一类型向量VA11,并将第一类型向量VA11输入至第三模型301B即第二子模型中的第二多头注意力层,输出结果依次经过第二子模型中的第三残差归一化层、第二前馈神经网络层和第四残差归一化层,经第三模型输出第四文本语义向量。
可以将第二文本数据通过第一模型获取的第二文本语义向量输入至第三模型301B即第二子模型中的第二线性层,生成第一类型向量VA21,并将第一类型向量VA21输入至第二模型301A即第一子模型中的第一多头注意力层,输出结果依次经过第一子模型中的第一残差归一化层、第一前馈神经网络层和第二残差归一化层,经第二模型输出第三文本语义向量。
图3B示出根据本公开实施例的数据处理的示意图,应理解,本公开实施例将以M=2,i取1和N为例进行说明。应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中N、M和i的具体取值可以根据实际需要进行设定,本公开对此不作具体限定。
如图3B所示,当M=2时,表明有两个第一子模型中的第一线性层生成的两个第一类型向量,与对应的两个第二子模型中的第二线性层生成的两个第一类型向量,分别进行交叉输入,而其他N-2个第一子模型和第二子模型分别生成的第一类型向量并不进行交叉输入。当M=2时,i可以取不小于1且不大于N的任意一个或多个值。应理解,本公开实施例将以i取1和N为例进行说明。应当了解的是,该示例仅为示例使用,并非是对于本公开的限制。
可以将第一文本数据通过第一模型获取的第一文本语义向量输入至第二模型302A的第1个第一子模型中的第一线性层,生成第一类型向量VA11,并将第一类型向量VA11输入至第三模型302B的第1个第二子模型中的第二多头注意力层,输出结果依次经过第1个第二子模型中的第三残差归一化层、第二前馈神经网络层和第四残差归一化层,经第1个第二子模型输出语义向量P21
可以将第二文本数据通过第一模型获取的第二文本语义向量输入至第1个第二子模型中的第二线性层,生成第一类型向量VA21,并将第一类型向量VA21输入至第1个第一子模型中的第一多头注意力层,输出结果依次经过第1个第一子模型中第一残差归一化层、第一前馈神经网络层和第二残差归一化层,经第1个第一子模型输出语义向量P11
可以将第1个第一子模型输出语义向量P11输入至第2个第一子模型中的第一线性层,生成第一类型向量VA12,并将第一类型向量VA12输入至第2个第一子模型中的第一多头注意力层,输出结果依次经过第2个第一子模型中第一残差归一化层、第一前馈神经网络层和第二残差归一化层,经第2个第一子模型输出语义向量P12
可以将第1个第二子模型输出语义向量P21输入至第2个第二子模型中的第二线性层,生成第一类型向量VA22,并将第一类型向量VA22输入至第2个第二子模型中的第二多头注意力层,输出结果依次经过第2个第二子模型中的第三残差归一化层、第二前馈神经网络层和第四残差归一化层,经第2个第二子模型输出语义向量P22
第二模型302A的第3~(N-1)个第一子模型与第2个第一子模型中的第一类型向量的输入输出方向类似,第三模型302B的第3~(N-1)个第二子模型与第2个第二子模型中的第一类型向量的输入输出方向类似,在此不再赘述。
可以将第(N-1)个第一子模型输出语义向量P1(N-1)输入至第N个第一子模型中的第一线性层,生成第一类型向量VA1N,并将第一类型向量VA1N输入至第N个第二子模型中的第二多头注意力层,输出结果依次经过第N个第二子模型中的第三残差归一化层、第二前馈神经网络层和第四残差归一化层,经第N个第二子模型输出第四文本语义向量。
可以将第(N-1)个第二子模型输出语义向量P2(N-1)输入至第N个第二子模型中的第二线性层,生成第一类型向量VA2N,并将第一类型向量VA2N输入至第N个第一子模型中的第一多头注意力层,输出结果依次经过第N个第一子模型中第一残差归一化层、第一前馈神经网络层和第二残差归一化层,经第N个第一子模型输出第三文本语义向量。
根据本公开的实施例,所述i的取值至少包括1。
由于第一文本语义向量通过第1个第一子模型的第一线性层生成第一类型向量VA11,因此,第一类型向量VA11包含第一文本语义向量较多的语义特征。由于第二文本语义向量通过第1个第二子模型的第二线性层生成第一类型向量VA21,因此,第一类型向量VA21包含第二文本语义向量较多的语义特征。根据本公开的实施例,可以限定i的取值至少包括1,即第一组第一类型向量至少包括第一类型向量VA11,第二组第一类型向量至少包括第一类型向量VA21。可以将第一类型向量VA11输入第1个第二子模型的第二多头注意力层,并将第一类型向量VA21输入第1个第一子模型的所述第一多头注意力层,从而使第一文本语义向量与第二文本语义向量中的语义特征实现更好的交叉输入效果。
根据本公开的实施例,所述数据处理方法,还包括:
通过第j个所述第一子模型的所述第一线性层,生成第二类型向量VB1j和第三类型向量VC1j,通过第j个所述第二子模型的所述第二线性层,生成第二类型向量VB2j和第三类型向量VC2j,j=1~N,例如j取从1到N的每一个值;
通过第k个所述第一子模型的所述第一线性层生成第一类型向量VA1k,通过第k个所述第二子模型的所述第二线性层生成所述第一类型向量VA2k,k取不小于1且不大于N的数值中不等于i的值;
将第二类型向量VB1j和第三类型向量VC1j输入所述第j个所述第一子模型的所述第一多头注意力层,将第二类型向量VB2j和第三类型向量VC2j输入第j个所述第二子模型的所述第二多头注意力层;
将第一类型向量VA1k输入第k个所述第一子模型的所述第一多头注意力层,将第一类型向量VA2k输入第k个所述第二子模型的所述第二多头注意力层。
根据本公开的实施例,可以将第二模型的所有第一子模型中的第一线性层生成的第二类型向量和第三类型向量均输入至对应的第一多头注意力层,可以将第三模型的所有第二子模型中的第二线性层生成的第二类型向量和第三类型向量均输入至对应的第二多头注意力层,即所有的第二类型向量和第三类型向量不进行交叉输入。同时,可以将第二模型的任意一个或者多个第一子模型中的第一线性层生成的第一类型向量,与第三模型对应的一个或者多个第二子模型中的第二线性层生成的第一类型向量,进行交叉输入(其他第一子模型和第二子模型的线性层生成的第一类型向量不交叉,而是输入同一子模型的多头注意力层),从而可以使第二模型以及第三模型可以同时深度提取第一文本语义向量以及第二文本语义向量的语义特征,为确定第一文本语义向量以及第二文本语义向量的相似性的准确度奠定基础。
图4A示出根据本公开实施例的数据处理的示意图,应理解,本公开实施例将以N=j=i=1为例进行说明。应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中N、j和i的具体取值可以根据实际需要进行设定,本公开对此不作具体限定。
如图4A所示,当N=1时,第二模型401A包括1个第一子模型,第三模型401B包括1个第二子模型。
可以将第一文本数据通过第一模型获取的第一文本语义向量输入至第二模型401A即第一子模型中的第一线性层,生成第一类型向量VA11、第二类型向量VB11和第三类型向量VC11。可以将第二文本数据通过第一模型获取的第二文本语义向量输入至第三模型401B即第二子模型中的第二线性层,生成第一类型向量VA21、第二类型向量VB21和第三类型向量VC21
可以将第一类型向量VA21、第二类型向量VB11和第三类型向量VC11输入至第一子模型中的第一多头注意力层,输出结果依次经过第一子模型中的第一残差归一化层、第一前馈神经网络层和第二残差归一化层,经第二模型输出第三文本语义向量。
可以将第一类型向量VA11、第二类型向量VB21和第三类型向量VC21输入至第二子模型中的第二多头注意力层,输出结果依次经过第二子模型中的第三残差归一化层、第二前馈神经网络层和第四残差归一化层,经第三模型输出第四文本语义向量。
图4B示出根据本公开实施例的数据处理的示意图,应理解,本公开实施例将以i取1和N为例进行说明。i取1和N时,表明第1个第一子模型和第N个第一子模型中的第一线性层生成的两个第一类型向量,与第1个第二子模型和第N个第二子模型中的第二线性层生成的两个第一类型向量,分别进行交叉输入,而其他N-2个第一子模型和第二子模型分别生成的第一类型向量并不进行交叉输入。应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中N和i的具体取值可以根据实际需要进行设定,本公开对此不作具体限定。
可以将第一文本数据通过第一模型获取的第一文本语义向量输入至第二模型402A的第1个第一子模型中的第一线性层,生成第一类型向量VA11、第二类型向量VB11和第三类型向量VC11。可以将第二文本数据通过第一模型获取的第二文本语义向量输入至第三模型402B的第1个第二子模型中的第二线性层,生成第一类型向量VA21、第二类型向量VB21和第三类型向量VC21
可以将第一类型向量VA21、第二类型向量VB11和第三类型向量VC11输入至第1个第一子模型中的第一多头注意力层,输出结果依次经过第1个第一子模型中的第一残差归一化层、第一前馈神经网络层和第二残差归一化层,经第1个第一子模型输出语义向量P11
可以将第一类型向量VA11、第二类型向量VB21和第三类型向量VC21输入至第1个第二子模型中的第二多头注意力层,输出结果依次经过第1个第二子模型中的第三残差归一化层、第二前馈神经网络层和第四残差归一化层,经第1个第三模型输出语义向量P21
可以将第1个第一子模型输出的语义向量P11输入至第2个第一子模型中的第一线性层,生成第一类型向量VA12、第二类型向量VB12和第三类型向量VC12。可以将第1个第二子模型输出的语义向量P21输入至第2个第二子模型中的第二线性层,生成第一类型向量VA22、第二类型向量VB22和第三类型向量VC22
可以将第一类型向量VA12、第二类型向量VB12和第三类型向量VC12输入至第2个第一子模型中的第一多头注意力层,输出结果依次经过第2个第一子模型中的第一残差归一化层、第一前馈神经网络层和第二残差归一化层,经第2个第一子模型输出语义向量P12
可以将第一类型向量VA22、第二类型向量VB22和第三类型向量VC22输入至第2个第二子模型中的第二多头注意力层,输出结果依次经过第2个第二子模型中的第三残差归一化层、第二前馈神经网络层和第四残差归一化层,经第2个第三模型输出语义向量P22
第二模型402A的第3~(N-1)个第一子模型与第2个第一子模型中的第一类型向量、第二类型向量和第三类型向量的输入输出方向类似,第三模型402B的第3~(N-1)个第二子模型与第2个第二子模型中的第一类型向量、第二类型向量和第三类型向量的输入输出方向类似,在此不再赘述。
可以将第(N-1)个第一子模型输出的语义向量P1(N-1)输入至第N个第一子模型中的第一线性层,生成第一类型向量VA1N、第二类型向量VB1N和第三类型向量VC1N。可以将第(N-1)个第二子模型输出的语义向量P2(N-1)输入至第N个第二子模型中的第二线性层,生成第一类型向量VA2N、第二类型向量VB2N和第三类型向量VC2N
可以将第一类型向量VA2N、第二类型向量VB1N和第三类型向量VC1N输入至第N个第一子模型中的第一多头注意力层,输出结果依次经过第N个第一子模型中的第一残差归一化层、第一前馈神经网络层和第二残差归一化层,经第N个第一子模型输出第三文本语义向量。
可以将第一类型向量VA1N、第二类型向量VB2N和第三类型向量VC2N输入至第N个第二子模型中的第二多头注意力层,输出结果依次经过第N个第二子模型中的第三残差归一化层、第二前馈神经网络层和第四残差归一化层,经第N个第三模型输出第四文本语义向量。
根据本公开的实施例,所述步骤103,即基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度,包括:
将所述第三文本语义向量输入至第一池化层,获取第一池化结果;
将所述第四文本语义向量输入至第二池化层,获取第二池化结果;
将所述第一池化结果和所述第二池化结果的拼接结果输入至全连接层,获取所述第三文本语义向量以及所述第四文本语义向量的相似概率;
根据所述相似概率,确定所述第一文本数据和所述第二文本数据的相似度。
图5示出根据本公开实施例的确定所述第一文本数据和所述第二文本数据的相似度的示意图。
如图5所示,将第三文本语义向量输入至第一池化层501获取第一池化结果,将第四文本语义向量输入至第二池化层502获取第二池化结果,其中,第一池化层501可以包括以下池化层中的一个或多个:第一最大池化层(Max-Pooling)、第一平均池化层(Mean-Pooling)和第一最小池化层(Min-Pooling);第二池化层502可以包括以下池化层中的一个或多个:第二最大池化层、第二平均池化层和第二最小池化层。本公开实施例通过第一池化层501和第二池化层502可以有效提取第三文本语义向量和第四文本语义向量中的关键语义特征,同时可以降低整体模型参数的复杂度。
根据本公开的实施例,可以将第一池化结果和第二池化结果输入至拼接层503,获取拼接结果。例如,假设第一池化层501包括第一最大池化层、第一平均池化层和第一最小池化层,假设第一池化结果包括第一最大池化结果、第一平均池化结果和第一最小池化结果;假设第二池化层502包括第二最大池化层、第二平均池化层和第二最小池化层,假设第二池化结果包括第二最大池化结果、第二平均池化结果和第二最小池化结果,可以将上述六个池化结果通过拼接层503依次进行拼接,从而获取拼接结果。
根据本公开的实施例,可以将上述拼接结果输入至全连接层504,经Sigmoid函数作用之后,获取第三文本语义向量以及第四文本语义向量的相似概率。可以用相似概率表示第三文本语义向量以及第四文本语义向量的相似度,例如,相似概率越大代表相似度越大。
通过使用池化层而不是全连接层来处理第三文本语义向量和第四文本语义向量,可以降低模型参数的复杂度,并且池化层的结构可以有效地提取向量矩阵中的关键点信息,在降低计算复杂度的同时保证了模型的精度。
根据本公开的实施例,在将拼接结果输入至全连接层504之后,可以将其全连接结果通过修正线性单元Relu函数进行非线性化处理,从而可以使全连接结果变得平滑,以便于可以处理复杂的情况。
根据本公开的实施例,由于第三文本语义向量以及第四文本语义向量的相似度可以在一定程度上表征第一文本数据和第二文本数据的相似度,因此,可以基于第三文本语义向量以及第四文本语义向量的相似度确定第一文本数据和第二文本数据的相似度。
根据本公开的实施例,所述数据处理方法,还包括:根据所述第一文本数据和所述多个第二文本数据的相似度,确定目标文本数据。
根据本公开的实施例,确定了第一文本数据与每个第二文本数据的相似度之后,可以将多个相似度按照一定的次序进行排序,并按照相似度从大到小的次序选择预设数量的相似度所对应的第二文本数据作为目标文本数据。或者,可以将多个相似度与预设相似度进行比较,将大于或等于预设相似度所对应的第二文本数据作为目标文本数据。目标文本数据即为根据第一文本数据进行改写的查询改写文本数据,可以基于第一文本数据和目标文本数据同时作为用户的输入文本,从而更好地响应用户真正的搜索需求。
根据本公开的实施例,可以将第一模型、第二模型、第三模型、第一池化层、第二池化层、拼接层和全连接层作为一个整体模型进行训练,训练样本包括已知第一文本数据、已知第二文本数据以及两者相似度。在训练过程中,可以通过交叉熵损失函数(CrossEntropy Loss)确定整体模型的参数。
根据本公开的实施例,由于基于第一模型可以获取第一文本数据和第二文本数据对应的第一文本语义向量和第二文本语义向量,因此,也可以单独训练第一模型,第一模型的训练样本包括已知第一文本数据、已知第二文本数据以及已知的对应的第一文本语义向量和第二文本语义向量。并将第二模型、第三模型、第一池化层、第二池化层、拼接层和全连接层作为一个整体模型进行训练,训练样本包括已知第一文本语义向量、已知第二文本语义向量以及两者相似度。
根据本公开的实施例,所述第一模型包括BERT模型,所述BERT模型的训练过程包括:
基于领域专业词汇,对预训练的BERT模型进行微调,获取训练好的BERT模型;和/或
利用全词覆盖的掩码方式,对预训练的BERT模型进行微调,获取训练好的BERT模型。
应理解,本公开的实施例将以第一模型为BERT模型为例进行说明,但不应该作为对本公开的限制。BERT模型是一种自然语言识别模型,其核心架构包括预设层数的运算层(比如12层),其中,运算层为转换器(Transformers),各个Transformers可以基于注意力机制对文本数据进行特征提取,以及对文本数据进行编码和解码。由于BERT模型为已经预训练完成的模型,在应用BERT模型时,只需根据具体的自然语言处理任务,对该预训练BERT模型中的各个参数进行微调即可。
根据本公开的实施例,在训练BERT模型的过程中,可以结合具体的应用领域,基于领域专业词汇,获取基于不同领域的训练样本,从而对预训练BERT模型中的各个参数进行微调,并获取适用于不同领域的训练好的BERT模型。例如,在电商领域,训练样本中的第一文本数据和第二文本数据可以包括商品的名称,以便于获取适用于电商领域的BERT模型;例如,在外卖领域,训练样本中的第一文本数据和第二文本数据可以包括菜品的名称,第二文本数据可以包括与该菜品相关联的多个菜品名称或者原材料名称,以便于获取适用于外卖领域的BERT模型。
由于预训练BERT模型是基于字符进行训练的,在预训练过程中,会随机选择训练样本中15%的字符,采用[Mask]掩码代替原始字符。例如,假设训练样本包括“招牌拌饭酱香辣牛肉味”,假设预训练过程中采用的掩码方式为“X牌拌X酱香辣X肉味”,由于上述掩码方式并未考虑词语的语义单元,因此,不易实现深度挖掘第一文本数据和第二文本数据的语义特征。
根据本公开的实施例,可以利用全词覆盖的掩码方式,即采用[Mask]掩码代替整个词语,对预训练的BERT模型进行微调,从而获取训练好的BERT模型。例如,针对训练样本“招牌拌饭酱香辣牛肉味”,假设可以采用的掩码方式为“招牌XXX香辣牛肉味”。通过上述全词覆盖的掩码方式,可以增强第一模型提取语义特征的能力。
图6示出根据本公开实施例的数据处理方法的应用场景示意图。如图6所示,应用场景包括客户端601以及服务器602,为了描述的方便,图6的应用场景中仅绘制了一个客户端601和一个服务器602,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的客户端601和服务器602的数量、种类以及连接方式可以根据实际需要进行设定,本公开对此不作具体限定。同时,本公开实施例的应用场景将以新零售技术领域为例进行说明,但本公开不限于此,而是也适用于其他应用场景。
用户通过客户端601输入第一文本数据T0,假设第一文本数据T0为菜品名称,比如,西红柿牛腩等。服务器602根据第一文本数据T0可以获取x个第二文本数据表示为{T1、T2、…、Tx},假设第二文本数据Ty(1≤y≤x)为第一文本数据的备选改写数据,比如,柿子牛腩、西红柿牛肉、柿子牛肉等。
服务器602分别将第一文本数据T0和第二文本数据Ty输入至第一模型,获取对应的第一文本语义向量和第二文本语义向量。可以将第一文本语义向量输入第二模型,将第二文本语义向量输入第三模型。假设第二模型中的第z(1≤z≤N)个第一子模型中的第一线性层生成第一类型向量VA1z、第二类型向量VB1z和第三类型向量VC1z,假设第三模型中的第z(1≤z≤N)个第二子模型中的第二线性层生成第一类型向量VA2z、第二类型向量VB2z和第三类型向量VC2z,可以将第一类型向量VA2z、第二类型向量VB1z和第三类型向量VC1z输入至第z个第一子模型中的第一多头注意力层,可以将第一类型向量VA1z、第二类型向量VB2z和第三类型向量VC2z输入至第z个第二子模型中的第二多头注意力层。即N个第一线性层和N个第二线性层生成的第二类型向量和第三类型向量均不进行交叉输入,N个第一线性层和N个第二线性层生成的第一类型向量均进行交叉输入,从而获取第二模型输出的第三文本语义向量和第三模型输出的第四文本语义向量。
服务器602将第三文本语义向量输入至第一池化层,获取第一池化结果,将第四文本语义向量输入至第二池化层,获取第二池化结果。将第一池化结果和所述第二池化结果的拼接结果输入至全连接层,获取第三文本语义向量以及第四文本语义向量的相似概率,从而确定第一文本数据T0和第二文本数据Ty的相似度。并基于相似度,将预设数量的第二文本数据确定为目标文本数据,例如,将r个(比如,10个)第二文本数据确定为目标文本数据,即第一文本数据的查询改写文本数据。可以将第一文本数据和r个目标文本数据作为输入,并返回用户基于第一文本数据的搜索结果。
图7示出根据本公开的实施例的数据处理装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图7所示,所述数据处理装置700包括第一获取模块710、第二获取模块720和第一确定模块730。
所述第一获取模块710被配置为通过处理器根据第一文本数据,利用第一模型获取第一文本语义向量,根据第二文本数据,利用所述第一模型获取第二文本语义向量,其中,所述第一模型是训练好的模型;
所述第二获取模块720被配置为将所述第一文本语义向量输入第二模型,将所述第二文本语义向量输入第三模型,将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,获取所述第二模型输出的第三文本语义向量和所述第三模型输出的第四文本语义向量,其中,所述第二模型和所述第三模型是训练好的模型,所述第一类型向量包括查询向量或键向量;
所述第一确定模块730被配置为基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度。
根据本公开的实施例,所述第二模型包括沿所述第二模型的输入到输出方向依次连接的第1到第N个第一子模型,所述第一子模型包括沿所述第一子模型的输入到输出方向依次连接的第一线性层、第一多头注意力层、第一残差归一化层、第一前馈神经网络层和第二残差归一化层;
所述第三模型包括沿所述第三模型的输入到输出方向依次连接的第1到第N个第二子模型,所述第二子模型包括沿所述第二子模型的输入到输出方向依次连接的第二线性层、第二多头注意力层、第三残差归一化层、第二前馈神经网络层和第四残差归一化层,其中,N≥1。
根据本公开的实施例,所述第一组第一类型向量包括M个第一类型向量VA1i,所述第二组第一类型向量包括M个第一类型向量VA2i,其中,1≤M≤N,i取不小于1且不大于N的任意一个或多个值;
通过第i个所述第一子模型的所述第一线性层生成所述第一类型向量VA1i,通过第i个所述第二子模型的所述第二线性层生成所述第一类型向量VA2i;所述将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,包括:将第一类型向量VA1i输入第i个所述第二子模型的所述第二多头注意力层,将第一类型向量VA2i输入第i个所述第一子模型的所述第一多头注意力层。
根据本公开的实施例,还包括:
第一生成模块740,被配置为通过第j个所述第一子模型的所述第一线性层,生成第二类型向量VB1j和第三类型向量VC1j,通过第j个所述第二子模型的所述第二线性层,生成第二类型向量VB2j和第三类型向量VC2j,j=1~N;
第二生成模块750,被配置为通过第k个所述第一子模型的所述第一线性层生成第一类型向量VA1k,通过第k个所述第二子模型的所述第二线性层生成所述第一类型向量VA2k,k取不小于1且不大于N的数值中不等于i的值;
第一输入模块760,被配置为将第二类型向量VB1j和第三类型向量VC1j输入所述第j个所述第一子模型的所述第一多头注意力层,将第二类型向量VB2j和第三类型向量VC2j输入第j个所述第二子模型的所述第二多头注意力层;
第二输入模块770,被配置为将第一类型向量VA1k输入第k个所述第一子模型的所述第一多头注意力层,将第一类型向量VA2k输入第k个所述第二子模型的所述第二多头注意力层,
其中:当第一类型向量是查询向量时,第二类型向量是值向量,第三类型向量是键向量,当第一类型向量是键向量时,第二类型向量是值向量,第三类型向量是查询向量。
根据本公开的实施例,i的取值至少包括1。
根据本公开的实施例,所述基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度,包括:
将所述第三文本语义向量输入至第一池化层,获取第一池化结果;
将所述第四文本语义向量输入至第二池化层,获取第二池化结果;
将所述第一池化结果和所述第二池化结果的拼接结果输入至全连接层,获取所述第三文本语义向量以及所述第四文本语义向量的相似概率;
根据所述相似概率,确定所述第一文本数据和所述第二文本数据的相似度。
根据本公开的实施例,还包括:
第二确定模块780,被配置为根据所述第一文本数据和所述多个第二文本数据的相似度,确定目标文本数据。
根据本公开的实施例,所述第一模型包括BERT模型,所述BERT模型的训练过程包括:
基于领域专业词汇,对预训练的BERT模型进行微调,获取训练好的BERT模型;和/或
利用全词覆盖的掩码方式,对预训练的BERT模型进行微调,获取训练好的BERT模型。
本公开还公开了一种电子设备,图8示出根据本公开的实施例的电子设备的结构框图。
如图8所示,所述电子设备800包括存储器801和处理器802;其中,
所述存储器801用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器802执行以实现根据本公开的实施例的方法。
图9示出适于用来实现根据本公开实施例的数据处理方法的计算机系统的结构示意图。
如图9所示,计算机系统900包括处理单元901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行上述实施例中的各种处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。处理单元901、ROM902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。其中,所述处理单元901可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (18)

1.一种数据处理方法,其特征在于,包括:
通过处理器根据第一文本数据,利用第一模型获取第一文本语义向量,根据第二文本数据,利用所述第一模型获取第二文本语义向量,其中,所述第一模型是训练好的模型;
将所述第一文本语义向量输入第二模型,将所述第二文本语义向量输入第三模型,将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,获取所述第二模型输出的第三文本语义向量和所述第三模型输出的第四文本语义向量,其中,所述第二模型和所述第三模型是训练好的模型,所述第一类型向量包括查询向量或键向量;
基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度。
2.根据权利要求1所述的方法,其特征在于:所述第二模型包括沿所述第二模型的输入到输出方向依次连接的第1到第N个第一子模型,所述第一子模型包括沿所述第一子模型的输入到输出方向依次连接的第一线性层、第一多头注意力层、第一残差归一化层、第一前馈神经网络层和第二残差归一化层;
所述第三模型包括沿所述第三模型的输入到输出方向依次连接的第1到第N个第二子模型,所述第二子模型包括沿所述第二子模型的输入到输出方向依次连接的第二线性层、第二多头注意力层、第三残差归一化层、第二前馈神经网络层和第四残差归一化层,其中,N≥1。
3.根据权利要求2所述的方法,其特征在于:
所述第一组第一类型向量包括M个第一类型向量VA1i,所述第二组第一类型向量包括M个第一类型向量VA2i,其中,1≤M≤N,i取不小于1且不大于N的任意一个或多个值;
通过第i个所述第一子模型的所述第一线性层生成所述第一类型向量VA1i,通过第i个所述第二子模型的所述第二线性层生成所述第一类型向量VA2i;所述将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,包括:将第一类型向量VA1i输入第i个所述第二子模型的所述第二多头注意力层,将第一类型向量VA2i输入第i个所述第一子模型的所述第一多头注意力层。
4.根据权利要求3所述的方法,其特征在于,还包括:
通过第j个所述第一子模型的所述第一线性层,生成第二类型向量VB1j和第三类型向量VC1j,通过第j个所述第二子模型的所述第二线性层,生成第二类型向量VB2j和第三类型向量VC2j,j=1~N;
通过第k个所述第一子模型的所述第一线性层生成第一类型向量VA1k,通过第k个所述第二子模型的所述第二线性层生成所述第一类型向量VA2k,k取不小于1且不大于N的数值中不等于i的值;
将第二类型向量VB1j和第三类型向量VC1j输入所述第j个所述第一子模型的所述第一多头注意力层,将第二类型向量VB2j和第三类型向量VC2j输入第j个所述第二子模型的所述第二多头注意力层;
将第一类型向量VA1k输入第k个所述第一子模型的所述第一多头注意力层,将第一类型向量VA2k输入第k个所述第二子模型的所述第二多头注意力层,
其中:当第一类型向量是查询向量时,第二类型向量是值向量,第三类型向量是键向量,当第一类型向量是键向量时,第二类型向量是值向量,第三类型向量是查询向量。
5.根据权利要求3所述的方法,其特征在于,i的取值至少包括1。
6.根据权利要求1所述的方法,所述基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度,包括:
将所述第三文本语义向量输入至第一池化层,获取第一池化结果;
将所述第四文本语义向量输入至第二池化层,获取第二池化结果;
将所述第一池化结果和所述第二池化结果的拼接结果输入至全连接层,获取所述第三文本语义向量以及所述第四文本语义向量的相似概率;
根据所述相似概率,确定所述第一文本数据和所述第二文本数据的相似度。
7.根据权利要求1所述的方法,还包括:
根据所述第一文本数据和所述第二文本数据的相似度,确定目标文本数据。
8.根据权利要求1所述的方法,所述第一模型包括BERT模型,所述BERT模型的训练过程包括:
基于领域专业词汇,对预训练的BERT模型进行微调,获取训练好的BERT模型;和/或
利用全词覆盖的掩码方式,对预训练的BERT模型进行微调,获取训练好的BERT模型。
9.一种数据处理装置,其特征在于,包括:
第一获取模块,被配置为通过处理器根据第一文本数据,利用第一模型获取第一文本语义向量,根据第二文本数据,利用所述第一模型获取第二文本语义向量,其中,所述第一模型是训练好的模型;
第二获取模块,被配置为将所述第一文本语义向量输入第二模型,将所述第二文本语义向量输入第三模型,将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,获取所述第二模型输出的第三文本语义向量和所述第三模型输出的第四文本语义向量,其中,所述第二模型和所述第三模型是训练好的模型,所述第一类型向量包括查询向量或键向量;
第一确定模块,被配置为基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度。
10.根据权利要求9所述的装置,其特征在于:所述第二模型包括沿所述第二模型的输入到输出方向依次连接的第1到第N个第一子模型,所述第一子模型包括沿所述第一子模型的输入到输出方向依次连接的第一线性层、第一多头注意力层、第一残差归一化层、第一前馈神经网络层和第二残差归一化层;
所述第三模型包括沿所述第三模型的输入到输出方向依次连接的第1到第N个第二子模型,所述第二子模型包括沿所述第二子模型的输入到输出方向依次连接的第二线性层、第二多头注意力层、第三残差归一化层、第二前馈神经网络层和第四残差归一化层,其中,N≥1。
11.根据权利要求10所述的装置,其特征在于:
所述第一组第一类型向量包括M个第一类型向量VA1i,所述第二组第一类型向量包括M个第一类型向量VA2i,其中,1≤M≤N,i取不小于1且不大于N的任意一个或多个值;
通过第i个所述第一子模型的所述第一线性层生成所述第一类型向量VA1i,通过第i个所述第二子模型的所述第二线性层生成所述第一类型向量VA2i;所述将所述第二模型生成的第一组第一类型向量输入所述第三模型,将所述第三模型生成的第二组第一类型向量输入所述第二模型,包括:将第一类型向量VA1i输入第i个所述第二子模型的所述第二多头注意力层,将第一类型向量VA2i输入第i个所述第一子模型的所述第一多头注意力层。
12.根据权利要求11所述的装置,其特征在于,还包括:
第一生成模块,被配置为通过第j个所述第一子模型的所述第一线性层,生成第二类型向量VB1j和第三类型向量VC1j,通过第j个所述第二子模型的所述第二线性层,生成第二类型向量VB2j和第三类型向量VC2j,j=1~N;
第二生成模块,被配置为通过第k个所述第一子模型的所述第一线性层生成第一类型向量VA1k,通过第k个所述第二子模型的所述第二线性层生成所述第一类型向量VA2k,k取不小于1且不大于N的数值中不等于i的值;
第一输入模块,被配置为将第二类型向量VB1j和第三类型向量VC1j输入所述第j个所述第一子模型的所述第一多头注意力层,将第二类型向量VB2j和第三类型向量VC2j输入第j个所述第二子模型的所述第二多头注意力层;
第二生成模块,被配置为将第一类型向量VA1k输入第k个所述第一子模型的所述第一多头注意力层,将第一类型向量VA2k输入第k个所述第二子模型的所述第二多头注意力层,
其中:当第一类型向量是查询向量时,第二类型向量是值向量,第三类型向量是键向量,当第一类型向量是键向量时,第二类型向量是值向量,第三类型向量是查询向量。
13.根据权利要求11所述的装置,其特征在于,i的取值至少包括1。
14.根据权利要求9所述的装置,所述基于所述第三文本语义向量和所述第四文本语义向量,确定所述第一文本数据和所述第二文本数据的相似度,包括:
将所述第三文本语义向量输入至第一池化层,获取第一池化结果;
将所述第四文本语义向量输入至第二池化层,获取第二池化结果;
将所述第一池化结果和所述第二池化结果的拼接结果输入至全连接层,获取所述第三文本语义向量以及所述第四文本语义向量的相似概率;
根据所述相似概率,确定所述第一文本数据和所述第二文本数据的相似度。
15.根据权利要求9所述的装置,还包括:
第二确定模块,被配置为根据所述第一文本数据和所述第二文本数据的相似度,确定目标文本数据。
16.根据权利要求9所述的装置,所述第一模型包括BERT模型,所述BERT模型的训练过程包括:
基于领域专业词汇,对预训练的BERT模型进行微调,获取训练好的BERT模型;和/或
利用全词覆盖的掩码方式,对预训练的BERT模型进行微调,获取训练好的BERT模型。
17.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-8任一项所述的方法。
18.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-8任一项所述的方法。
CN202010247367.9A 2020-03-31 2020-03-31 数据处理方法、装置、电子设备及计算机可读存储介质 Active CN111460303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010247367.9A CN111460303B (zh) 2020-03-31 2020-03-31 数据处理方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010247367.9A CN111460303B (zh) 2020-03-31 2020-03-31 数据处理方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111460303A CN111460303A (zh) 2020-07-28
CN111460303B true CN111460303B (zh) 2023-07-04

Family

ID=71678523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010247367.9A Active CN111460303B (zh) 2020-03-31 2020-03-31 数据处理方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111460303B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487274B (zh) * 2020-12-02 2023-02-07 重庆邮电大学 一种基于文本点击率的搜索结果推荐方法及系统
CN113094473A (zh) * 2021-04-30 2021-07-09 平安国际智慧城市科技股份有限公司 关键词的权重计算方法、装置、计算机设备及存储介质
CN112990388B (zh) * 2021-05-17 2021-08-24 成都数联铭品科技有限公司 基于概念词的文本聚类方法
CN114003698B (zh) * 2021-12-27 2022-04-01 成都晓多科技有限公司 一种文本检索方法、系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066489A1 (ja) * 2016-10-07 2018-04-12 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及び方法並びにそのためのコンピュータプログラム
CN110377714A (zh) * 2019-07-18 2019-10-25 泰康保险集团股份有限公司 基于迁移学习的文本匹配方法、装置、介质及设备
CN110737839A (zh) * 2019-10-22 2020-01-31 京东数字科技控股有限公司 短文本的推荐方法、装置、介质及电子设备
CN110928997A (zh) * 2019-12-04 2020-03-27 北京文思海辉金信软件有限公司 意图识别方法、装置、电子设备及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066489A1 (ja) * 2016-10-07 2018-04-12 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及び方法並びにそのためのコンピュータプログラム
CN110377714A (zh) * 2019-07-18 2019-10-25 泰康保险集团股份有限公司 基于迁移学习的文本匹配方法、装置、介质及设备
CN110737839A (zh) * 2019-10-22 2020-01-31 京东数字科技控股有限公司 短文本的推荐方法、装置、介质及电子设备
CN110928997A (zh) * 2019-12-04 2020-03-27 北京文思海辉金信软件有限公司 意图识别方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN111460303A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111460303B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
KR102486348B1 (ko) 어텐션-기반의 시퀀스 변환 신경망
CN109885672B (zh) 一种面向在线教育的问答式智能检索系统及方法
CN108334487B (zh) 缺失语意信息补全方法、装置、计算机设备和存储介质
CN107273503B (zh) 用于生成同语言平行文本的方法和装置
CN108932342A (zh) 一种语义匹配的方法、模型的学习方法及服务器
US20180336193A1 (en) Artificial Intelligence Based Method and Apparatus for Generating Article
WO2019155064A1 (en) Data compression using jointly trained encoder, decoder, and prior neural networks
JP2020520516A5 (zh)
CN111078844A (zh) 软件众包的任务型对话系统及方法
CN111368049A (zh) 信息获取方法、装置、电子设备及计算机可读存储介质
CN113761218B (zh) 一种实体链接的方法、装置、设备及存储介质
CN110795552A (zh) 一种训练样本生成方法、装置、电子设备及存储介质
US20190340503A1 (en) Search system for providing free-text problem-solution searching
CN109766418B (zh) 用于输出信息的方法和装置
CN113158691B (zh) 基于混合知识管理的对话方法、装置和电子设备
CN110334186A (zh) 数据查询方法、装置、计算机设备及计算机可读存储介质
CN112100401A (zh) 面向科技服务的知识图谱构建方法、装置、设备及存储介质
CN114818729A (zh) 一种训练语义识别模型、查找语句的方法、装置及介质
US20060155673A1 (en) Method and apparatus for robust input interpretation by conversation systems
CN115526171A (zh) 一种意图识别方法、装置、设备及计算机可读存储介质
US20220188636A1 (en) Meta pseudo-labels
CN114722833A (zh) 一种语义分类方法及装置
Gui et al. Training recurrent neural network on distributed representation space for session-based recommendation
CN116662502A (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
GR01 Patent grant