CN113157727B - 提供召回结果的方法、设备和存储介质 - Google Patents
提供召回结果的方法、设备和存储介质 Download PDFInfo
- Publication number
- CN113157727B CN113157727B CN202110567087.0A CN202110567087A CN113157727B CN 113157727 B CN113157727 B CN 113157727B CN 202110567087 A CN202110567087 A CN 202110567087A CN 113157727 B CN113157727 B CN 113157727B
- Authority
- CN
- China
- Prior art keywords
- query
- training data
- target
- sentence
- vector
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种提供召回结果的方法、设备和存储介质,属于计算机技术领域。该方法包括:获取待处理查询语句,在确定待处理查询语句满足目标条件的情况下,将待处理查询语句中的实体词添加在目标位置,获得待处理查询语句对应的目标文本,目标条件为语义查询和/或字符数小于目标数值且无固定含义,目标位置为待处理查询语句的句尾或者句头。将目标文本输入至语义向量生成模型,以使语义向量生成模型根据目标文本中的实体词获得待处理查询语句的语义向量,语义向量生成模型的训练数据集中的查询语句包括实体词。基于该语义向量,为待处理查询语句提供召回结果。采用本公开,提升了提供的召回结果的准确率。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种提供召回结果的方法、设备和存储介质。
背景技术
目前用户在一些应用中输入查询语句,查询内容时,若查询语句为无明确指向的语句,如查询语句为语义查询(query),召回模型将查询语句转换为语义向量,并获取各候选库中各召回结果的语义向量,然后计算查询语句的语义向量与召回结果的语义向量的相似度。将相似度高于一定数值的召回结果展示给用户。
在相关技术中,召回模型将查询语句转换为语义向量时,是分析查询语句的词语和句子结构,获得查询语句的语义向量。召回模型将召回结果转换为语义向量时,是分析召回结果的词语和句子结构,获得召回结果的语义向量。
相关技术中在获得语义向量时,同一类型实体词的上下文和句子结构类似,但是语义相反或者无关,同一类型的实体词有可能会被误识别为相同的语义,使得生成的语义向量的准确度较低,进而导致提供的召回结果不准确。
发明内容
本公开实施例提供了一种提供召回结果的方法、设备和存储介质,能够解决生成语义向量的准确度较低的问题,进而能够提升提供的召回结果的准确率。所述技术方案如下:
一方面,提供了一种提供召回结果的方法,所述方法包括:
获取待处理查询语句;
在确定所述待处理查询语句满足目标条件的情况下,将所述待处理查询语句中的实体词添加在所述待处理查询语句的目标位置,获得所述待处理查询语句对应的目标文本,其中,所述目标条件为语义查询,和/或,字符数小于目标数值且无固定含义,所述目标位置为所述待处理查询语句的句尾或者句头;
将所述目标文本输入至训练完成的语义向量生成模型,以使所述语义向量生成模型根据所述目标文本中的实体词获得所述待处理查询语句的语义向量,其中,用于训练所述语义向量生成模型的训练数据集中的查询语句包括实体词;
基于所述待处理查询语句的语义向量,为所述待处理查询语句提供目标召回结果。
在一种可能的实现方式中,所述方法还包括:
对语义查询的曝光日志进行清洗处理,获得原始训练数据,其中,所述原始训练数据包括多个查询语句以及所述多个查询语句对应的召回结果;
基于用户对各查询语句的召回结果的反馈,为所述原始训练数据中各查询语句的召回结果添加标签,生成第一类训练数据;
确定所述原始训练数据中包括实体词的目标查询语句,基于所述目标查询语句中的实体词和所述目标查询语句的召回结果,构造第二类训练数据;
将所述第一类训练数据和所述第二类训练数据添加至训练数据集;
基于所述训练数据集和预先构建的损失函数对初始语义向量生成模型进行训练,获得所述训练完成的语义向量生成模型。
这样,能够训练获得语义向量生成模型。
在一种可能的实现方式中,所述基于所述目标查询语句中的实体词和所述目标查询语句的召回结果,构造第二类训练数据,包括:
将所述目标查询语句中的实体词删除或替换为同一类型的其他实体词,将所述目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
这样,能够提升语义向量生成模型识别同一类型的实体词的性能。
在一种可能的实现方式中,所述基于所述目标查询语句中的实体词和所述目标查询语句的召回结果,构造第二类训练数据,包括:
若所述目标查询语句的实体词与所述目标查询语句的召回结果中的实体词不一致和/或实体词类型不一致,则将所述目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
这样,能够提升语义向量生成模型识别同一类型的实体词的性能。
在一种可能的实现方式中,所述方法还包括:
针对所述原始训练数据中的查询语句,在预设的同义词表中查找所述查询语句中的关键词的同义词;
将所述查询语句中的关键词替换为所述关键词的同义词,得到第一查询语句;
将所述第一查询语句、所述第一查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
这样,能够提升语义向量生成模型识别同义词的性能。
在一种可能的实现方式中,所述方法还包括:
针对所述原始训练数据中的查询语句,在预设的反义词表中查找所述查询语句中的关键词的反义词;
将所述查询语句中的关键词替换为所述关键词的反义词,得到第二查询语句;
将所述第二查询语句、所述第二查询语句的召回结果以及相反的标签作为训练数据添加至所述训练数据集。
这样,能够提升语义向量生成模型识别反义词的性能。
在一种可能的实现方式中,所述方法还包括:
对所述原始训练数据中的查询语句进行识别,获得所述查询语句中的关键词;
将所述查询语句中除关键词之外的一个词语删除或替换为预设词,得到第三查询语句;
将所述第三查询语句、所述第三查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
这样,能够扩充训练数据集。
在一种可能的实现方式中,所述方法还包括:
在所述原始训练数据中的查询语句的句头或句尾添加停用词得到第四查询语句,其中,所述查询语句添加停用词后语义不发生变化;
将所述第四查询语句、所述第四查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
这样,能够扩充训练数据集。
在一种可能的实现方式中,所述方法还包括:
在所述原始训练数据中,筛选频率超过目标阈值且为语义查询的第五查询语句;
将第五查询语句和所述第五查询语句对应的召回结果进行展示;
获取用户对所述第五查询语句对应的召回结果的标注结果;
将所述第五查询语句和所述标注结果作为训练数据,添加至所述训练数据集。
这样,能够获取到准确标签的训练数据。
在一种可能的实现方式中,所述基于所述训练数据集和预先构建的损失函数对初始语义向量生成模型进行训练,获得所述训练完成的语义向量生成模型,包括:
在所述训练数据集中按照批大小获取多条训练数据,每条训练数据包括查询语句以及对应的召回结果的组合;
将每条所述训练数据输入至所述初始语义向量生成模型,获得所述训练数据中查询语句的文本向量和召回结果的文本向量;
基于所述损失函数、所述训练数据中查询语句的文本向量和召回结果的文本向量,确定所述训练数据对应的损失;
当所述损失满足第一条件或者评价指标满足第二条件时,将所述初始语义向量生成模型确定为所述训练完成的语义向量生成模型,当所述损失不满足所述第一条件且所述评价指标不满足所述第二条件时,使用所述损失更新所述初始语义向量生成模型,继续使用所述训练数据集对更新后的语义向量生成模型进行训练,直到损失满足第一条件或者评价指标满足第二条件,将损失满足第一条件或者评价指标满足第二条件时的语义向量生成模型,确定为所述训练完成的语义向量生成模型。
在一种可能的实现方式中,所述损失函数包括折页损失函数和向量相似度损失函数;
所述基于所述损失函数、所述训练数据中查询语句的文本向量和召回结果的文本向量,确定所述训练数据对应的损失,包括:
将所述查询语句的文本向量和所述召回结果的文本向量对应位置的数值相乘获得相乘后的向量,将所述查询语句的文本向量和所述召回结果的文本向量对应位置的数值相减获得相减后的向量;
将所述查询语句的文本向量、所述召回结果的文本向量的向量、所述相乘后的向量和所述相减后的向量分别合并输入至全连接层,获得所述训练数据的相似预测结果;
将所述训练数据的相似预测结果和所述训练数据中召回结果的标签代入所述折页损失函数,确定所述训练数据的折页损失;
计算所述查询语句的文本向量和所述召回结果的文本向量的向量相似度,将所述向量相似度、所述相似预测结果和所述召回结果的标签代入所述向量相似度损失函数,确定所述训练数据的向量相似度损失;
使用所述向量相似度损失和所述折页损失,计算得到所述训练数据对应的损失。
这样,考虑两种损失函数,所以能够使得语义向量生成模型的性能更好。
在一种可能的实现方式中,所述语义向量生成模型包括文本转向量层、第一编码层及第二编码层;
所述将所述目标文本输入至训练完成的语义向量生成模型,以使所述语义向量生成模型根据所述目标文本中的实体词获得所述待处理查询语句的语义向量,包括:
将所述目标文本依次输入所述文本转向量层、所述第一编码层及第二编码层,获得所述待处理查询语句的语义向量,其中,所述文本转向量层用于将所述目标文本转换为向量,所述第一编码层和所述第二编码层用于根据所述目标文本中的实体词将所述目标文本转换为的向量编码为语义向量。
在一种可能的实现方式中,所述语义向量生成模型还包括第三编码层和第四编码层;
所述基于所述待处理查询语句的语义向量,为所述待处理查询语句提供目标召回结果,包括:
将候选召回结果依次输入所述文本转向量层、所述第三编码层和所述第四编码层,获得所述候选召回结果的语义向量;
确定所述待处理查询语句的语义向量与所述候选召回结果的语义向量的相似度;
基于所述相似度,为所述待处理查询语句提供目标召回结果。
这样,能够为待处理查询语句提供召回结果。
另一方面,提供了一种提供召回结果的装置,所述装置包括:
获取模块,用于获取待处理查询语句;
在确定所述待处理查询语句满足目标条件的情况下,将所述待处理查询语句中的实体词添加在所述待处理查询语句的目标位置,获得所述待处理查询语句对应的目标文本,其中,所述目标条件为语义查询,和/或,字符数小于目标数值且无固定含义,所述目标位置为所述待处理查询语句的句尾或者句头;
输入模块,用于将所述目标文本输入至训练完成的语义向量生成模型,以使所述语义向量生成模型根据所述目标文本中的实体词获得所述待处理查询语句的语义向量,其中,用于训练所述语义向量生成模型的训练数据集中的查询语句包括实体词;
匹配模块,用于基于所述待处理查询语句的语义向量,为所述待处理查询语句提供目标召回结果。
在一种可能的实现方式中,所述装置还包括:
训练模块,用于:
对语义查询的曝光日志进行清洗处理,获得原始训练数据,其中,所述原始训练数据包括多个查询语句以及所述多个查询语句对应的召回结果;
基于用户对各查询语句的召回结果的反馈,为所述原始训练数据中各查询语句的召回结果添加标签,生成第一类训练数据;
确定所述原始训练数据中包括实体词的目标查询语句,基于所述目标查询语句中的实体词和所述目标查询语句的召回结果,构造第二类训练数据;
将所述第一类训练数据和所述第二类训练数据添加至训练数据集;
基于所述训练数据集和预先构建的损失函数对初始语义向量生成模型进行训练,获得所述训练完成的语义向量生成模型。
在一种可能的实现方式中,所述训练模块,用于:
将所述目标查询语句中的实体词删除或替换为同一类型的其他实体词,将所述目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
在一种可能的实现方式中,所述训练模块,用于:
若所述目标查询语句的实体词与所述目标查询语句的召回结果中的实体词不一致和/或实体词类型不一致,则将所述目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
在一种可能的实现方式中,所述训练模块,还用于:
针对所述原始训练数据中的查询语句,在预设的同义词表中查找所述查询语句中的关键词的同义词;
将所述查询语句中的关键词替换为所述关键词的同义词,得到第一查询语句;
将所述第一查询语句、所述第一查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块,还用于:
针对所述原始训练数据中的查询语句,在预设的反义词表中查找所述查询语句中的关键词的反义词;
将所述查询语句中的关键词替换为所述关键词的反义词,得到第二查询语句;
将所述第二查询语句、所述第二查询语句的召回结果以及相反的标签作为训练数据添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块,还用于:
对所述原始训练数据中的查询语句进行识别,获得所述查询语句中的关键词;
将所述查询语句中除关键词之外的一个词语删除或替换为预设词,得到第三查询语句;
将所述第三查询语句、所述第三查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块,还用于:
在所述原始训练数据中的查询语句的句头或句尾添加停用词得到第四查询语句,其中,所述查询语句添加停用词后语义不发生变化;
将所述第四查询语句、所述第四查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块,还用于:
在所述原始训练数据中,筛选频率超过目标阈值且为语义查询的第五查询语句;
将第五查询语句和所述第五查询语句对应的召回结果进行展示;
获取用户对所述第五查询语句对应的召回结果的标注结果;
将所述第五查询语句和所述标注结果作为训练数据,添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块,用于:
在所述训练数据集中按照批大小获取多条训练数据,每条训练数据包括查询语句以及对应的召回结果的组合;
将每条所述训练数据输入至所述初始语义向量生成模型,获得所述训练数据中查询语句的文本向量和召回结果的文本向量;
基于所述损失函数、所述训练数据中查询语句的文本向量和召回结果的文本向量,确定所述训练数据对应的损失;
当所述损失满足第一条件或者评价指标满足第二条件时,将所述初始语义向量生成模型确定为所述训练完成的语义向量生成模型,当所述损失不满足所述第一条件且所述评价指标不满足所述第二条件时,使用所述损失更新所述初始语义向量生成模型,继续使用所述训练数据集对更新后的语义向量生成模型进行训练,直到损失满足第一条件或者评价指标满足第二条件,将损失满足第一条件或者评价指标满足第二条件时的语义向量生成模型,确定为所述训练完成的语义向量生成模型。
在一种可能的实现方式中,所述损失函数包括折页损失函数和向量相似度损失函数;
所述训练模块,用于:
将所述查询语句的文本向量和所述召回结果的文本向量对应位置的数值相乘获得相乘后的向量,将所述查询语句的文本向量和所述召回结果的文本向量对应位置的数值相减获得相减后的向量;
将所述查询语句的文本向量、所述召回结果的文本向量的向量、所述相乘后的向量和所述相减后的向量分别合并输入至全连接层,获得所述训练数据的相似预测结果;
将所述训练数据的相似预测结果和所述训练数据中召回结果的标签代入所述折页损失函数,确定所述训练数据的折页损失;
计算所述查询语句的文本向量和所述召回结果的文本向量的向量相似度,将所述向量相似度、所述相似预测结果和所述召回结果的标签代入所述向量相似度损失函数,确定所述训练数据的向量相似度损失;
使用所述向量相似度损失和所述折页损失,计算得到所述训练数据对应的损失。
在一种可能的实现方式中,所述语义向量生成模型包括文本转向量层、第一编码层及第二编码层;
所述输入模块,用于:
将所述目标文本依次输入所述文本转向量层、所述第一编码层及第二编码层,获得所述待处理查询语句的语义向量,其中,所述文本转向量层用于将所述目标文本转换为向量,所述第一编码层和所述第二编码层用于根据所述目标文本中的实体词将所述目标文本转换为的向量编码为语义向量。
在一种可能的实现方式中,所述语义向量生成模型还包括第三编码层和第四编码层;
所述匹配模块,用于:
将候选召回结果依次输入所述文本转向量层、所述第三编码层和所述第四编码层,获得所述候选召回结果的语义向量;
确定所述待处理查询语句的语义向量与所述候选召回结果的语义向量的相似度;
基于所述相似度,为所述待处理查询语句提供目标召回结果。
再一方面,本公开提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述计算机指令由所述处理器加载并执行以实现如第一方面所述的提供召回结果的方法所执行的操作。
再一方面,本公开提供了一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述计算机指令由处理器加载并执行以实现如第一方面所述的提供召回结果的方法所执行的操作。
本公开实施例提供的技术方案带来的有益效果至少包括:
在本公开实施例中,由于训练语义向量生成模型时,使用的查询语句中包括实体词,所以语义向量生成模型能够准确识别实体词。进而使用语义向量生成模型为待处理查询语句生成语义向量时能够准确识别实体词,所以能够为待处理查询语句确定准确的语义向量。因此在为待处理查询语句匹配召回结果时,由于语义向量准确,所以能够匹配到准确的召回结果,提升提供的召回结果的准确率。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的提供召回结果的方法流程图;
图2是本公开实施例提供的构建训练数据集的示意图;
图3是本公开实施例提供的初始模型的示意图;
图4是本公开实施例提供的训练语义向量生成模型的示意图;
图5是本公开实施例提供的提供召回结果的装置结构示意图;
图6是本公开实施例提供的提供召回结果的装置结构示意图;
图7是本公开实施例提供的计算机设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
为了更好的理解本公开实施例,首先介绍下可能涉及的名词概念:
语义查询(query),指在检索过程中被判断为语义意图的检索词,如欢快的歌曲、伤感的音乐等。
实体词,指专有名词,例如,实体词为省市的名称、乐器的名称、语言的名称、节日的名称、宗教的名称、音乐领域专用术语(disco、蓝调等)等。同一类型的实体词指相同类型的实体词,例如,各个国家的名称属于同一类型实体词,各个省的名称、各种乐器的名称属于同一类型实体词等。
相关技术中在获得语义向量时,由于同一类型的实体词的上下文和句子结构类似(如词性、语法结构、语义角色相同),所以有可能会导致误识别为相同的语义,进而导致生成的语义向量的准确度较低。而且某些词的反义词由于词性,语法结构和语义角色相同,所以也有可能误识别为相同的语义,进而也会导致生成的语义向量的准确度比较低,进而导致提供的召回结果的准确率较低。
为了提升提供召回结果的准确率,本公开提供了一种提供召回结果的方法,该方法的执行主体可以是提供召回结果的装置,后续简称为提供装置,提供装置可以是集成有软件程序的终端,也可以是服务器等计算机设备,该服务器也可以是云端服务器。服务器可以包括处理器、存储器和收发器。处理器可以用于执行提供召回结果的过程的处理,如可以生成语义向量等。存储器可以用于存储提供召回结果的过程中需要的数据以及产生的数据,如可以存储查询语句的语义向量。收发器可以用于接收以及发送数据。
本公开实施例中以音乐类应用程序涉及的提供召回结果的过程为例进行说明。如图1所示,该提供召回结果的方法的流程可以包括以下步骤101-104。
步骤101,获取待处理查询语句。
在本实施例中,如果待处理查询语句需要转换为语义向量,提供装置可以获取到待处理查询语句。例如,用户在音乐程序的搜索框中输入一句话,该一句话即为待处理查询语句。
步骤102,在确定待处理查询语句满足目标条件的情况下,将待处理查询语句中的实体词添加在待处理查询语句的目标位置,获得待处理查询语句对应的目标文本,其中,目标条件为语义查询,和/或,字符数小于目标数值且无固定含义,目标位置为待处理查询语句的句尾或者句头。
其中,目标数值可以预先设置,如20等。无固定含义也可以认为是无明确指向。无明确指向指不能指向具体的目标,如不能指向具体的歌曲,查询语句中不包括歌手名称、歌曲名称、影视剧名称等;有明确指向能指向具体的目标,如能指向具体的歌曲,查询语句中包括歌手名称、歌曲名称、影视剧名称等。
在本实施例中,提供装置首先对待处理查询语句进行分词获得分词结果,然后使用分词结果分析待处理查询语句是否是语义query。示例性的,若提供装置基于分词结果确定待处理查询语句有明确指向,则确定待处理查询语句不是语义query,进而表示该待处理查询语句不满足目标条件,若提供装置基于分词结果确定待处理查询语句无明确指向,则确定待处理查询语句是语义query,进而表示该待处理查询语句满足目标条件。例如,待处理查询语句为“A歌手的歌曲”,由于待处理查询语句中存在“A”和“歌曲”,所以待处理查询语句有明确的歌手(A)指向,不是语义query。再例如,待处理查询语句为“今天的天气真好”、“舒缓的轻音乐”、“下午茶必备神曲”、“2020最火神曲”等,由于待处理查询语句中无明确指向,所以该待处理查询语句是语义query。
提供装置可以确定待处理查询语句的字符数,若字符数小于目标数值,判断待处理查询语句是否有明确指向,若待处理查询语句无明确指向,则可以确定待处理查询语句满足目标条件。若字符数大于或等于目标数值,或者待处理查询语句有明确指向,则确定待处理查询语句不满足目标条件。此处在判断是否待处理查询语句满足目标条件时,可以先判断字符数小于目标数值且无固定含义,再判断是否是语义query,也可以同时判断,只要有至少一个满足即可。
在判断待处理查询语句满足目标条件后,提供装置可以识别待处理查询语句中的实体词。示例性的,提供装置可以将待处理查询语句的各个分词与预设的实体词库中的各实体词进行比对,获得待处理查询语句中的实体词,或者,提供装置可以将待处理查询语句输入至预先训练的神经网络模型,获得待处理查询语句中的实体词。然后提供装置将待处理查询语句中的实体词添加至待处理查询语句的目标位置,获得待处理查询语句对应的目标文本。此处目标位置为句尾或者句头。
可选的,提供装置将待处理查询语句中的实体词添加至待处理查询语句的目标位置时,可以使用预设标记将实体词与待处理查询语句间隔开。例如,预设标记为“#”,待处理查询语句使用A表示,待处理查询语句中的实体词为M,则添加实体词后的待处理查询语句为A#M。
步骤103,将目标文本输入至训练完成的语义向量生成模型,以使语义向量生成模型根据目标文本中的实体词获得待处理查询语句的语义向量,其中,用于训练语义向量生成模型的训练数据集中的查询语句包括实体词。
在本实施例中,提供装置可以从其他设备获取语义向量生成模型,或者自身预先训练获得语义向量生成模型,训练语义向量生成模型的训练数据集中的查询语句包括实体词。将待处理查询语句的目标文本,输入至语义向量生成模型,语义向量生成模型结合待处理查询语句中的实体词,进行输出,该输出即为待处理查询语句的语义向量。这样,即获得待处理查询语句的语义向量。
步骤104,基于待处理查询语句的语义向量,为待处理查询语句提供目标召回结果。
在本实施例中,提供装置使用待处理查询语句的语义向量,在候选召回结果中选择召回结果,作为待处理查询语句的目标召回结果。提供装置将目标召回结果提供给用户。
这样,由于训练语义向量生成模型时训练样本的查询语句中包括实体词,使得训练完成的语义向量生成模型能够准确识别实体词,进而训练完成的语义向量生成模型对于输入的待处理查询语句能够根据待处理查询语句中的实体词确定准确的语义向量。在为待处理查询语句匹配召回结果时,基于准确的语义向量能够匹配到准确的召回结果,从而提升了召回结果的准确率。
如下针对图1所示的方法流程进行补充说明:
在一种可能的实现方式中,提供装置训练获得语义向量生成模型,处理为:
对语义查询的曝光日志进行清洗处理,获得原始训练数据,其中,原始训练数据包括多个查询语句以及多个查询语句对应的召回结果;基于用户对各查询语句的召回结果的反馈,为原始训练数据中各查询语句的召回结果添加标签,生成第一类训练数据;确定原始训练数据中包括实体词的目标查询语句,基于目标查询语句中的实体词和目标查询语句的召回结果,构造第二类训练数据;将第一类训练数据和第二类训练数据添加至训练数据集;基于训练数据集和预先构建的损失函数对初始语义向量生成模型进行训练,获得训练完成的语义向量生成模型。
在本实施例中,提供装置可以获取音乐程序线上的语义query的曝光日志,该曝光日志中包括语义query的查询语句、对应的召回结果以及用户对召回结果的反馈。并且提供装置构建初始语义向量生成模型和损失函数,该初始语义向量生成模型每次包括两个输入,一个输入为查询语句的输入文本,另一个输入为召回结果的输入文本。提供装置可以将语义query的曝光日志进行数据清洗,去除重复数据,获得原始训练数据。
对于原始训练数据中的任一查询语句,若原始训练数据中用户对该查询语句的某一个召回结果为正向反馈,则提供装置可以将该召回结果的标签设置为1,若原始训练数据中用户对该查询语句的某一个召回结果为负向反馈,则提供装置可以将该召回结果的标签设置为0。此处针对不同的情景,正向反馈与负向反馈的定义不相同,例如,在音乐应用程序中,召回结果为歌曲,正向反馈为用户播放完该歌曲或者播放后喜欢(如点赞、收藏,评论等)、播放该歌曲超过预设时长等,负向反馈为用户未播放完该歌曲(如用户播放较短时间就切歌)、多次连续切歌,不喜欢这类明确负反馈等。再例如,在视频应用程序中,召回结果为视频,正向反馈为用户播放完该视频、播放该视频超过预设时长等,负向反馈为用户未播放完该视频、播放该视频的未超过预设时长等。这样,在为召回结果添加标签后,生成第一类训练数据。
然后提供装置确定原始训练数据中包括实体词的目标查询语句,使用目标查询语句中的实体词和目标查询语句的召回结果,构造第二类训练数据。将第一类训练数据和第二类训练数据添加至训练数据集。然后基于训练数据集、初始语义向量生成模型和损失函数,训练获得语义向量生成模型。
在一种可能的实现方式中,构建第二类训练数据的过程为:
将目标查询语句中的实体词删除或替换为同一类型的其他实体词,将目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
在本实施例中,提供装置可以将目标查询语句中的实体词删除,并且将目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。或者,提供装置可以将目标查询语句中的实体词替换为同一类型的其他实体词,将目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据,增加了实体词语义学习的训练数据。例如,目标查询语句中的实体词为“陕北名歌”,将“陕北名歌”替换为“东北名歌”,将原来召回结果的标签修改为相反标签。
在一种可能的实现方式中,构建第二类训练数据的过程为:
若目标查询语句的实体词与目标查询语句的召回结果中的实体词不一致和/或实体词类型不一致,则将目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
在本实施例中,提供装置判断目标查询语句与目标查询语句的召回结果中的实体词是否一致。若不一致,则将目标查询语句的召回结果的标签修改为相反的标签;若一致,则不修改标签。并且判断目标查询语句与目标查询语句的召回结果中的实体词类型是否一致。若不一致,则将目标查询语句的召回结果的标签修改为相反的标签;若一致,则不修改标签。这样,同样获得第二类训练数据,增加了实体词语义学习的训练数据。
需要说明的是,此处不一致包括两种情况,一种是目标查询语句和召回结果均包括实体词,但是实体词不一致;另一种是目标查询语句和召回结果中仅有一个包括实体词,另一个不包括实体词。
在一种可能的实现方式中,为了考虑同义词对语义理解的影响,可以基于同义词表构造训练数据,处理为:
针对原始训练数据中的查询语句,在预设的同义词表中查找查询语句中的关键词的同义词;将查询语句中的关键词替换为关键词的同义词,得到第一查询语句;将第一查询语句、第一查询语句的召回结果以及标签作为训练数据添加至训练数据集。
在本实施例中,提供装置可以在原始训练数据中获取部分查询语句或全部查询语句。提供装置可以使用获取的各查询语句中各词语的词性和句子结构,筛选出获取的各查询语句的关键词。然后获取预设的同义词表,在该同义词表中,查找获取的各查询语句中的关键词的同义词。将各查询语句中的关键词替换为关键词的同义词,获得第一查询语句。将第一查询语句、第一查询语句的召回结果以及对应标签,作为训练数据添加至训练数据集。这样,不改变句子结构,构造出取相同标签的训练数据,不仅可以构造出更多的训练数据,而且有利于模型对此类训练数据中查询语句的语义的学习。
在一种可能的实现方式中,由于用户一般希望查询的内容与召回结果相对应,所以反义词往往比同义词对用户体验影响较大,如搜索婚礼背景音乐,召回结果为失恋的人都听这些歌,对用户的体验影响比较大。为了考虑反义词对语义理解的影响,可以基于反义词表构造训练数据,处理为:
针对原始训练数据中的查询语句,在预设的反义词表中查找查询语句中的关键词的反义词;将查询语句中的关键词替换为关键词的反义词,得到第二查询语句;将第二查询语句、第二查询语句的召回结果以及相反的标签作为训练数据添加至训练数据集。
在本实施例中,提供装置可以在原始训练数据中获取部分查询语句或全部查询语句。提供装置可以使用获取的各查询语句中各词语的词性和句子结构,筛选出获取的各查询语句的关键词。然后获取预设的反义词表,在该反义词表中,查找获取的各查询语句中的关键词的反义词。将获取的各查询语句中的关键词替换为关键词的反义词,获得第二查询语句。并将第二查询语句的召回结果的标签修改为相反的标签。将第二查询语句、第二查询语句的召回结果以及对应标签,作为训练数据添加至训练数据集。这样,不改变句子结构,构造出取相反标签的训练数据,不仅可以构造出更多的训练数据,而且有利于模型对此类训练数据中查询语句的语义的学习。
在一种可能的实现方式中,在构造训练数据时,为了提高训练的语义向量生成模型的稳定性,还可以使用如下方式进行训练数据的扩增,处理为:
对原始训练数据中的查询语句进行识别,获得查询语句中的关键词;将查询语句中除关键词之外的一个词语删除或替换为预设词,得到第三查询语句;将第三查询语句、第三查询语句的召回结果以及标签作为训练数据添加至训练数据集。
在本实施例中,提供装置可以在原始训练数据中获取部分查询语句或全部查询语句。提供装置可以使用获取的各查询语句中各词语的词性和句子结构,筛选出获取的各查询语句的关键词。在不改变原来句子语义的基础上,将获取的各查询语句中除该关键词之外的一个词语删除或者替换为预设词,获得第三查询语句。将第三查询语句、第三查询语句的召回结果以及标签作为训练数据,添加至训练数据集。这样,由于语义不变,所以标签不变,也可以达到扩增训练数据的目的。
在一种可能的实现方式中,在构造训练数据时,为了提高训练的语义向量生成模型的稳定性,还可以使用如下方式进行训练数据的扩增,处理为:
在原始训练数据中的查询语句的句头或句尾添加停用词得到第四查询语句,其中,查询语句添加停用词后语义不发生变化;将第四查询语句、第四查询语句的召回结果以及标签作为训练数据添加至训练数据集。
其中,停用词添加在查询语句的句头或者句尾后,查询语句的语义不变。例如,停用词为标点符号、啊、的等这一类词。
在本实施例中,提供装置可以在原始训练数据中获取部分查询语句或全部查询语句。提供装置可以在获取的各查询语句的语义不变的基础上,在获取的各查询语句的句头或句尾添加停用词,获得第四查询语句。将第四查询语句、第四查询语句的召回结果以及标签作为训练数据,添加至训练数据集。这样,由于语义不变,所以标签不变,也可以达到扩增训练数据的目的。
在一种可能的实现方式中,为了获得高可信的标注数据,人工可以标注一部分数据,处理为:
在原始训练数据中,筛选频率超过目标阈值且为语义查询的第五查询语句;将第五查询语句和第五查询语句对应的召回结果进行展示;获取用户对第五查询语句对应的召回结果的标注结果;将第五查询语句和标注结果作为训练数据,添加至训练数据集。
其中,目标阈值可以预设,并且存储在提供装置中。
在本实施例中,提供装置可以在原始训练数据中,筛选出频率超过目标阈值,且为语义query的第五查询语句。提供装置可以将第五查询语句和第五查询语句对应的召回结果展示给用户,用户可以为召回结果添加标签作为标注结果,然后进行提交。提供装置可以将第五查询语句和标注结果作为训练数据,添加至训练数据集。这样,人工可以标注部分召回结果,获得部分准确的训练数据。
另外,在本公开实施例中,在构造训练数据时,原始训练数据中的某个查询语句包括另一个查询语句时,可以将该另一个查询语句删除,不作为训练数据。这样,可以删除重复的训练数据。
此处需要说明的是,上述多种构建训练数据集的方法可以同时存在,也可以仅存在于某几种。如图2所示,为了更好地理解本公开实施例中构建训练数据集的过程,提供了示例图。
在一种可能的实现方式中,如图3所示,初始语义向量生成模型可以包括文本转向量层、第一编码层、第二编码层、第三编码层和第四编码层,其中,对于任一查询语句,该查询语句经过文本转向量层、第一编码层和第二编码层处理,获得该查询语句的文本向量。该查询语句的召回结果经过文本转向量层、第三编码层和第四编码层,获得该查询语句的召回结果的文本向量。示例性的,文本转向量层可以是嵌入(embedding)层,用于将输入文本的数字序列转换为向量。在输入文本进入文本转向量层之前,首先经过tokenizer层预处理,用于将输入文本转换为数字(token化)。需要说明的是,在初始语义向量生成模型中第一编码层和第三编码层可以相同,共享参数,第二编码层和第四编码层均是K层,但是不共享参数。
上述第一编码层和第二编码层可以是albert编码器,当然也可以是类似长短期记忆网络(long short-term memory,LSTM),卷积神经网络(convolutional neuralnetwork,CNN),或者bert系列的其他编码器。同样,第三编码层和第四编码层可以是albert编码器,当然也可以是类似LSTM, CNN,或者bert系列的其他编码器。在应用中,albert编码器选用多少层网络,本申请实施例不做限定。
训练获得语义向量生成模型的过程为:
在训练数据集中按照批大小获取多条训练数据,每条训练数据包括查询语句以及对应的召回结果的组合;将每条训练数据输入至初始语义向量生成模型,获得训练数据中查询语句的文本向量和召回结果的文本向量;基于损失函数、训练数据中查询语句的文本向量和召回结果的文本向量,确定训练数据对应的损失;当损失满足第一条件或者评价指标满足第二条件时,将初始语义向量生成模型确定为训练完成的语义向量生成模型,当损失不满足第一条件且评价指标不满足第二条件时,使用损失更新初始语义向量生成模型,继续使用训练数据集对更新后的语义向量生成模型进行训练,直到损失满足第一条件或者评价指标满足第二条件,将损失满足第一条件或者评价指标满足第二条件时的语义向量生成模型,确定为训练完成的语义向量生成模型。
其中,第一条件为损失小于目标数值,评价指标可以包括召回率、精确度、误报率和漏报率等,第二条件指召回率高于一定数值,精确度高于一定数值、误报率低于一定数值,漏报率低于一定数值。
在本实施例中,提供装置可以将初始语义向量生成模型作为当前的模型。在训练数据集中,按照当前的批大小,获取当前的多条训练数据,每一条训练数据包括一条查询语句以及对应的召回结果的组合。
然后提供装置将当前的每条训练数据输入至当前的模型,输出即为当前的每条训练数据中查询语句的文本向量和召回结果的文本向量。提供装置使用损失函数、当前的每条训练数据中查询语句的文本向量和召回结果的文本向量,计算当前的训练数据的损失。
若该损失满足第一条件,或者评价指标满足第二条件,则可以将待训练文本向量生成模型,确定为文本向量生成模型。
若该损失不满足第一条件,且评价指标不满足第二条件,则提供装置可以基于该损失,更新当前的模型。并且返回在训练数据集中选取当前的训练数据的处理,直到损失满足第一条件或者评价指标满足第二条件,将损失满足第一条件或者评价指标满足第二条件时的模型中的文本转向量层、第一编码层和第二编码层,确定为语义向量生成模型。
此处需要说明的是,在训练过程中,可以分为两个部分。第一部分是结合规则构造的数据集和人工标注的数据集训练3轮,这部分训练数据比较多,通常可以有100万以上,主要目的在于为模型引入大量领域名词,提升泛化性能;第二部分是利用人工标注的数据继续训练两轮,相对于第一部分批大小要小。
可选的,在第一编码层和第二编码层后经过池化处理,获得查询语句的文本向量。在第三编码层和第四编码层后经过池化处理,获得召回结果的文本向量。这样,能够降低维度。此处池化为最大化池化或者平均池化等。
在一种可能的实现方式,损失函数可以包括折页损失函数和向量相似度损失函数,折页损失函数为最大折页损失函数,在训练过程中计算损失的处理可以为:
将查询语句的文本向量和召回结果的文本向量对应位置的数值相乘获得相乘后的向量,将该查询语句的文本向量和召回结果的文本向量对应位置的数值相减获得相减后的向量;将该查询语句的文本向量、召回结果的文本向量的向量、相乘后的向量和相减后的向量分别合并输入至全连接层,获得训练数据的相似预测结果;将训练数据的相似预测结果和训练数据中召回结果的标签代入折页损失函数,确定训练数据的折页损失;计算查询语句的文本向量和召回结果的文本向量的向量相似度,将向量相似度、相似预测结果和召回结果的标签代入向量相似度损失函数,确定训练数据的向量相似度损失;使用该向量相似度损失和该折页损失,计算得到训练数据对应的损失。
在本实施例中,如下针对当前的一条训练数据,计算损失:
如图4所示,对于当前的每条训练数据,提供装置将该条训练数据中查询语句的文本向量和召回结果的文本向量对应位置的数值相乘,获得相乘后的向量。例如,查询语句的文本向量u为(a1,a2,a3,…,an),召回结果的文本向量v为(b1,b2,b3,…,bn),相乘后的向量为(a1*b1,a2*b2,a3*b3,…,an*bn)。将该条训练数据中查询语句的文本向量和召回结果的文本向量对应位置的数值相减,获得相减后的向量。例如,查询语句的文本向量u为(a1,a2,a3,…,an),召回结果的文本向量v为(b1,b2,b3,…,bn),相减后的向量为(a1-b1,a2-b2,a3-b3,…,an-bn)。
将该条训练数据中查询语句的文本向量、召回结果的文本向量、相乘后的向量和相减后的向量合并,获得维度为原来u或者v的向量的4倍的向量。这样,可以获得更多维度的向量,而且更多维度的向量中描述了查询语句的文本向量和召回结果的文本向量的差值以及乘积,使得更能描述查询语句的文本向量和召回结果的文本向量的相似性。将合并后的向量输入至全连接层,获得相似预测结果。然后提供装置可以基于该相似预测结果和该召回结果的标签,确定该条训练数据的折页损失,用公式(1)表示为:
其中,在式(1)中表示该条训练数据的折页损失,y表示标签,取值为1或者0,p
表示相似预测结果,也可以称为是模型的预测概率,p越大表示预测为相似的概率越大,和表示超参数,默认值可以为0.2,表示取0和中最
大值的平方。
对于当前的每条训练数据,计算该条训练数据中查询语句的文本向量和召回结果的文本向量的向量相似度,此处向量相似度可以是余弦相似度。基于该向量相似度和该召回结果的标签,确定该条训练数据的向量相似度损失,用公式(2)表示为:
最后,对于任一条训练数据的损失使用公式(3)表示:
然后将当前的所有训练数据的损失相加,获得当前的训练数据对应的损失。
这样,由于考虑了向量相似度损失和折页损失,所以可以使训练出的语义向量生成模型更精确。
在一种可能的实现方式中,在语义向量生成模型包括文本转换向量层、第一编码层和第二编码层时,步骤103的处理为:
将目标文本依次输入文本转向量层、第一编码层及第二编码层,获得待处理查询语句的语义向量,其中,文本转向量层用于将目标文本转换为向量,第一编码层和第二编码层用于根据目标文本中的实体词将目标文本转换为的向量编码为语义向量。
在本实施例中,提供装置将目标文本输入至文本转向量层,获得目标文本的数字序列转换为向量。将目标文本转换后的向量,输入至第一编码层和第二编码层进行编码处理,获得语义向量。可选的,在编码处理后,经过池化处理获得待处理查询语句的语义向量。
此处需要说明的是,在训练阶段,由于第一编码层和第二编码层学习了训练数据中查询语句的实体词,所以可以认为在进行编码处理时,是基于待查询语句中的实体词进行编码处理。
在一种可能的实现方式中,还提供了向待处理查询语句提供召回结果的处理,处理过程为:
将候选召回结果依次输入文本转向量层、第三编码层和第四编码层,获得候选召回结果的语义向量;确定待处理查询语句的语义向量与候选召回结果的语义向量的相似度;基于相似度,为待处理查询语句提供目标召回结果。
在本实施例中,候选库包括预先设置的召回结果,是一个离线的候选库,该离线的候选库为离线刷新,在线服务的候选库。提供装置在候选库中获取所有或部分召回结果作为待处理查询语句的候选召回结果,然后将每个候选召回结果经过文本向量层的处理后转换为向量,将每个候选召回结果的向量经过第三编码层和第四编码层的编码处理,获得每个候选召回结果的语义向量。可选的,在编码处理后,经过池化处理获得该每个候选召回结果的语义向量。
然后计算待处理查询语句的语义向量和每个候选召回结果的语义向量的相似度,可选的,该相似度可以是余弦相似度。然后将相似度大于预设阈值的候选召回结果,确定为待处理查询语句的召回结果。这样,由于生成的语义向量比较准确,所以获得的召回结果也比较准确,用户点击率也比较高,点击率为总点击次数与总展示次数的比值。
可选的,在基于相似度为待处理查询语句提供召回结果时,还可以参考召回结果的评论信息,为待处理查询语句提供召回结果。例如,对于某个召回结果,虽然相似度比较高,但是评论信息用户评价评分比较低,也不会作为待处理查询语句的召回结果。
在本公开实施例中,由于训练语义向量生成模型时,使用的查询语句中包括实体词,所以语义向量生成模型能够准确识别实体词。进而使用语义向量生成模型为待处理查询语句生成语义向量时能够准确识别实体词,所以能够为待处理查询语句确定准确的语义向量。因此在为待处理查询语句匹配召回结果时,由于语义向量准确,所以能够匹配到准确的召回结果,提升提供的召回结果的准确率。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
基于相同的技术构思,如图5所示,本公开实施例提供了一种提供召回结果的装置,该装置包括:
获取模块510,用于获取待处理查询语句;
在确定所述待处理查询语句满足目标条件的情况下,将所述待处理查询语句中的实体词添加在所述待处理查询语句的目标位置,获得所述待处理查询语句对应的目标文本,其中,所述目标条件为语义查询,和/或,字符数小于目标数值且无固定含义,所述目标位置为所述待处理查询语句的句尾或者句头;
输入模块520,用于将所述目标文本输入至训练完成的语义向量生成模型,以使所述语义向量生成模型根据所述目标文本中的实体词获得所述待处理查询语句的语义向量,其中,用于训练所述语义向量生成模型的训练数据集中的查询语句包括实体词;
匹配模块530,用于基于所述待处理查询语句的语义向量,为所述待处理查询语句提供目标召回结果。
在一种可能的实现方式中,如图6所示,所述装置还包括:
训练模块540,用于:
对语义查询的曝光日志进行清洗处理,获得原始训练数据,其中,所述原始训练数据包括多个查询语句以及所述多个查询语句对应的召回结果;
基于用户对各查询语句的召回结果的反馈,为所述原始训练数据中各查询语句的召回结果添加标签,生成第一类训练数据;
确定所述原始训练数据中包括实体词的目标查询语句,基于所述目标查询语句中的实体词和所述目标查询语句的召回结果,构造第二类训练数据;
将所述第一类训练数据和所述第二类训练数据添加至训练数据集;
基于所述训练数据集和预先构建的损失函数对初始语义向量生成模型进行训练,获得所述训练完成的语义向量生成模型。
在一种可能的实现方式中,所述训练模块540,用于:
将所述目标查询语句中的实体词删除或替换为同一类型的其他实体词,将所述目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
在一种可能的实现方式中,所述训练模块540,用于:
若所述目标查询语句的实体词与所述目标查询语句的召回结果中的实体词不一致和/或实体词类型不一致,则将所述目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
在一种可能的实现方式中,所述训练模块540,还用于:
针对所述原始训练数据中的查询语句,在预设的同义词表中查找所述查询语句中的关键词的同义词;
将所述查询语句中的关键词替换为所述关键词的同义词,得到第一查询语句;
将所述第一查询语句、所述第一查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块540,还用于:
针对所述原始训练数据中的查询语句,在预设的反义词表中查找所述查询语句中的关键词的反义词;
将所述查询语句中的关键词替换为所述关键词的反义词,得到第二查询语句;
将所述第二查询语句、所述第二查询语句的召回结果以及相反的标签作为训练数据添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块540,还用于:
对所述原始训练数据中的查询语句进行识别,获得所述查询语句中的关键词;
将所述查询语句中除关键词之外的一个词语删除或替换为预设词,得到第三查询语句;
将所述第三查询语句、所述第三查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块540,还用于:
在所述原始训练数据中的查询语句的句头或句尾添加停用词得到第四查询语句,其中,所述查询语句添加停用词后语义不发生变化;
将所述第四查询语句、所述第四查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块540,还用于:
在所述原始训练数据中,筛选频率超过目标阈值且为语义查询的第五查询语句;
将第五查询语句和所述第五查询语句对应的召回结果进行展示;
获取用户对所述第五查询语句对应的召回结果的标注结果;
将所述第五查询语句和所述标注结果作为训练数据,添加至所述训练数据集。
在一种可能的实现方式中,所述训练模块540,用于:
在所述训练数据集中按照批大小获取多条训练数据,每条训练数据包括查询语句以及对应的召回结果的组合;
将每条所述训练数据输入至所述初始语义向量生成模型,获得所述训练数据中查询语句的文本向量和召回结果的文本向量;
基于所述损失函数、所述训练数据中查询语句的文本向量和召回结果的文本向量,确定所述训练数据对应的损失;
当所述损失满足第一条件或者评价指标满足第二条件时,将所述初始语义向量生成模型确定为所述训练完成的语义向量生成模型,当所述损失不满足所述第一条件且所述评价指标不满足所述第二条件时,使用所述损失更新所述初始语义向量生成模型,继续使用所述训练数据集对更新后的语义向量生成模型进行训练,直到损失满足第一条件或者评价指标满足第二条件,将损失满足第一条件或者评价指标满足第二条件时的语义向量生成模型,确定为所述训练完成的语义向量生成模型。
在一种可能的实现方式中,所述损失函数包括折页损失函数和向量相似度损失函数;
所述训练模块540,用于:
将所述查询语句的文本向量和所述召回结果的文本向量对应位置的数值相乘获得相乘后的向量,将所述查询语句的文本向量和所述召回结果的文本向量对应位置的数值相减获得相减后的向量;
将所述查询语句的文本向量、所述召回结果的文本向量的向量、所述相乘后的向量和所述相减后的向量分别合并输入至全连接层,获得所述训练数据的相似预测结果;
将所述训练数据的相似预测结果和所述训练数据中召回结果的标签代入所述折页损失函数,确定所述训练数据的折页损失;
计算所述查询语句的文本向量和所述召回结果的文本向量的向量相似度,将所述向量相似度、所述相似预测结果和所述召回结果的标签代入所述向量相似度损失函数,确定所述训练数据的向量相似度损失;
使用所述向量相似度损失和所述折页损失,计算得到所述训练数据对应的损失。
在一种可能的实现方式中,所述语义向量生成模型包括文本转向量层、第一编码层及第二编码层;
所述输入模块520,用于:
将所述目标文本依次输入所述文本转向量层、所述第一编码层及第二编码层,获得所述待处理查询语句的语义向量,其中,所述文本转向量层用于将所述目标文本转换为向量,所述第一编码层和所述第二编码层用于根据所述目标文本中的实体词将所述目标文本转换为的向量编码为语义向量。
在一种可能的实现方式中,所述语义向量生成模型还包括第三编码层和第四编码层;
所述匹配模块530,用于:
将候选召回结果依次输入所述文本转向量层、所述第三编码层和所述第四编码层,获得所述候选召回结果的语义向量;
确定所述待处理查询语句的语义向量与所述候选召回结果的语义向量的相似度;
基于所述相似度,为所述待处理查询语句提供目标召回结果。
上述对提供召回结果的装置的划分是示例性的。
需要说明的是:上述实施例提供的提供召回结果的装置在提供召回结果时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将上述装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的提供召回结果的装置与提供召回结果的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本公开实施例提供的一种计算机设备的结构示意图,该计算机设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)701和一个或一个以上的存储器702,其中,所述存储器702中存储有至少一条指令,所述至少一条指令由所述处理器701加载并执行以实现上述各个方法实施例提供的提供召回结果的方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中提供召回结果的方法。该计算机可读存储介质可以是非暂态的。例如,所述计算机可读存储介质可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、光盘只读存储器(compact disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (15)
1.一种提供召回结果的方法,其特征在于,所述方法包括:
获取待处理查询语句;
在确定所述待处理查询语句满足目标条件的情况下,将所述待处理查询语句中的实体词添加在所述待处理查询语句的目标位置,获得所述待处理查询语句对应的目标文本,其中,所述目标条件为语义查询,和/或,字符数小于目标数值且无固定含义,所述目标位置为所述待处理查询语句的句尾或者句头;
将所述目标文本输入至训练完成的语义向量生成模型,以使所述语义向量生成模型根据所述目标文本中的实体词获得所述待处理查询语句的语义向量,其中,用于训练所述语义向量生成模型的训练数据集中的查询语句包括实体词;
基于所述待处理查询语句的语义向量,为所述待处理查询语句提供目标召回结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对语义查询的曝光日志进行清洗处理,获得原始训练数据,其中,所述原始训练数据包括多个查询语句以及所述多个查询语句对应的召回结果;
基于用户对各查询语句的召回结果的反馈,为所述原始训练数据中各查询语句的召回结果添加标签,生成第一类训练数据;
确定所述原始训练数据中包括实体词的目标查询语句,基于所述目标查询语句中的实体词和所述目标查询语句的召回结果,构造第二类训练数据;
将所述第一类训练数据和所述第二类训练数据添加至训练数据集;
基于所述训练数据集和预先构建的损失函数对初始语义向量生成模型进行训练,获得所述训练完成的语义向量生成模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标查询语句中的实体词和所述目标查询语句的召回结果,构造第二类训练数据,包括:
将所述目标查询语句中的实体词删除或替换为同一类型的其他实体词,将所述目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
4.根据权利要求2所述的方法,其特征在于,所述基于所述目标查询语句中的实体词和所述目标查询语句的召回结果,构造第二类训练数据,包括:
若所述目标查询语句的实体词与所述目标查询语句的召回结果中的实体词不一致和/或实体词类型不一致,则将所述目标查询语句的召回结果的标签修改为相反的标签,获得第二类训练数据。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:
针对所述原始训练数据中的查询语句,在预设的同义词表中查找所述查询语句中的关键词的同义词;
将所述查询语句中的关键词替换为所述关键词的同义词,得到第一查询语句;
将所述第一查询语句、所述第一查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
6.根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:
针对所述原始训练数据中的查询语句,在预设的反义词表中查找所述查询语句中的关键词的反义词;
将所述查询语句中的关键词替换为所述关键词的反义词,得到第二查询语句;
将所述第二查询语句、所述第二查询语句的召回结果以及相反的标签作为训练数据添加至所述训练数据集。
7.根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:
对所述原始训练数据中的查询语句进行识别,获得所述查询语句中的关键词;
将所述查询语句中除关键词之外的一个词语删除或替换为预设词,得到第三查询语句;
将所述第三查询语句、所述第三查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
8.根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:
在所述原始训练数据中的查询语句的句头或句尾添加停用词得到第四查询语句,其中,所述查询语句添加停用词后语义不发生变化;
将所述第四查询语句、所述第四查询语句的召回结果以及标签作为训练数据添加至所述训练数据集。
9.根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:
在所述原始训练数据中,筛选频率超过目标阈值且为语义查询的第五查询语句;
将第五查询语句和所述第五查询语句对应的召回结果进行展示;
获取用户对所述第五查询语句对应的召回结果的标注结果;
将所述第五查询语句和所述标注结果作为训练数据,添加至所述训练数据集。
10.根据权利要求2至4任一项所述的方法,其特征在于,所述基于所述训练数据集和预先构建的损失函数对初始语义向量生成模型进行训练,获得所述训练完成的语义向量生成模型,包括:
在所述训练数据集中按照批大小获取多条训练数据,每条训练数据包括查询语句以及对应的召回结果的组合;
将每条所述训练数据输入至所述初始语义向量生成模型,获得所述训练数据中查询语句的文本向量和召回结果的文本向量;
基于所述损失函数、所述训练数据中查询语句的文本向量和召回结果的文本向量,确定所述训练数据对应的损失;
当所述损失满足第一条件或者评价指标满足第二条件时,将所述初始语义向量生成模型确定为所述训练完成的语义向量生成模型,当所述损失不满足所述第一条件且所述评价指标不满足所述第二条件时,使用所述损失更新所述初始语义向量生成模型,继续使用所述训练数据集对更新后的语义向量生成模型进行训练,直到损失满足第一条件或者评价指标满足第二条件,将损失满足第一条件或者评价指标满足第二条件时的语义向量生成模型,确定为所述训练完成的语义向量生成模型。
11.根据权利要求10所述的方法,其特征在于,所述损失函数包括折页损失函数和向量相似度损失函数;
所述基于所述损失函数、所述训练数据中查询语句的文本向量和召回结果的文本向量,确定所述训练数据对应的损失,包括:
将所述查询语句的文本向量和所述召回结果的文本向量对应位置的数值相乘获得相乘后的向量,将所述查询语句的文本向量和所述召回结果的文本向量对应位置的数值相减获得相减后的向量;
将所述查询语句的文本向量、所述召回结果的文本向量的向量、所述相乘后的向量和所述相减后的向量分别合并输入至全连接层,获得所述训练数据的相似预测结果;
将所述训练数据的相似预测结果和所述训练数据中召回结果的标签代入所述折页损失函数,确定所述训练数据的折页损失;
计算所述查询语句的文本向量和所述召回结果的文本向量的向量相似度,将所述向量相似度、所述相似预测结果和所述召回结果的标签代入所述向量相似度损失函数,确定所述训练数据的向量相似度损失;
使用所述向量相似度损失和所述折页损失,计算得到所述训练数据对应的损失。
12.根据权利要求1至4任一项所述的方法,其特征在于,所述语义向量生成模型包括文本转向量层、第一编码层及第二编码层;
所述将所述目标文本输入至训练完成的语义向量生成模型,以使所述语义向量生成模型根据所述目标文本中的实体词获得所述待处理查询语句的语义向量,包括:
将所述目标文本依次输入所述文本转向量层、所述第一编码层及第二编码层,获得所述待处理查询语句的语义向量,其中,所述文本转向量层用于将所述目标文本转换为向量,所述第一编码层和所述第二编码层用于根据所述目标文本中的实体词将所述目标文本转换为的向量编码为语义向量。
13.根据权利要求12所述的方法,其特征在于,所述语义向量生成模型还包括第三编码层和第四编码层;
所述基于所述待处理查询语句的语义向量,为所述待处理查询语句提供目标召回结果,包括:
将候选召回结果依次输入所述文本转向量层、所述第三编码层和所述第四编码层,获得所述候选召回结果的语义向量;
确定所述待处理查询语句的语义向量与所述候选召回结果的语义向量的相似度;
基于所述相似度,为所述待处理查询语句提供目标召回结果。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述计算机指令由所述处理器加载并执行以实现如权利要求1至13任一项所述的提供召回结果的方法所执行的操作。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机指令,所述计算机指令由处理器加载并执行以实现如权利要求1至13任一项所述的提供召回结果的方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110567087.0A CN113157727B (zh) | 2021-05-24 | 2021-05-24 | 提供召回结果的方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110567087.0A CN113157727B (zh) | 2021-05-24 | 2021-05-24 | 提供召回结果的方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157727A CN113157727A (zh) | 2021-07-23 |
CN113157727B true CN113157727B (zh) | 2022-12-13 |
Family
ID=76877197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110567087.0A Active CN113157727B (zh) | 2021-05-24 | 2021-05-24 | 提供召回结果的方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157727B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535927A (zh) * | 2021-07-30 | 2021-10-22 | 杭州网易智企科技有限公司 | 获取相似文本的方法、介质、装置和计算设备 |
CN113657113A (zh) * | 2021-08-24 | 2021-11-16 | 北京字跳网络技术有限公司 | 文本处理方法、装置和电子设备 |
CN113806519A (zh) * | 2021-09-24 | 2021-12-17 | 金蝶软件(中国)有限公司 | 一种搜索召回方法、装置及介质 |
CN115168537B (zh) * | 2022-06-30 | 2023-06-27 | 北京百度网讯科技有限公司 | 语义检索模型的训练方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002251401A (ja) * | 2001-02-22 | 2002-09-06 | Canon Inc | 文書検索装置および方法ならびに記憶媒体 |
JP2006065387A (ja) * | 2004-08-24 | 2006-03-09 | Fuji Xerox Co Ltd | テキスト文検索装置、テキスト文検索方法、及びテキスト文検索プログラム |
CN110188168A (zh) * | 2019-05-24 | 2019-08-30 | 北京邮电大学 | 语义关系识别方法和装置 |
CN111368555A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 一种数据识别方法、装置、存储介质和电子设备 |
WO2020208593A1 (en) * | 2019-04-12 | 2020-10-15 | Incyzr Pty. Ltd. | Methods, systems and computer program products for implementing neural network based optimization of database search functionality |
CN112214593A (zh) * | 2020-11-05 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 问答处理方法、装置、电子设备及存储介质 |
CN112507091A (zh) * | 2020-12-01 | 2021-03-16 | 百度健康(北京)科技有限公司 | 检索信息的方法、装置、设备以及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132755B2 (en) * | 2018-10-30 | 2021-09-28 | International Business Machines Corporation | Extracting, deriving, and using legal matter semantics to generate e-discovery queries in an e-discovery system |
CN109871545B (zh) * | 2019-04-22 | 2022-08-05 | 京东方科技集团股份有限公司 | 命名实体识别方法及装置 |
CN110516062B (zh) * | 2019-08-26 | 2022-11-04 | 腾讯科技(深圳)有限公司 | 一种文档的搜索处理方法及装置 |
CN111522994B (zh) * | 2020-04-15 | 2023-08-01 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN111831911B (zh) * | 2020-07-16 | 2023-07-07 | 北京奇艺世纪科技有限公司 | 查询信息的处理方法、装置、存储介质和电子装置 |
-
2021
- 2021-05-24 CN CN202110567087.0A patent/CN113157727B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002251401A (ja) * | 2001-02-22 | 2002-09-06 | Canon Inc | 文書検索装置および方法ならびに記憶媒体 |
JP2006065387A (ja) * | 2004-08-24 | 2006-03-09 | Fuji Xerox Co Ltd | テキスト文検索装置、テキスト文検索方法、及びテキスト文検索プログラム |
WO2020208593A1 (en) * | 2019-04-12 | 2020-10-15 | Incyzr Pty. Ltd. | Methods, systems and computer program products for implementing neural network based optimization of database search functionality |
CN110188168A (zh) * | 2019-05-24 | 2019-08-30 | 北京邮电大学 | 语义关系识别方法和装置 |
CN111368555A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 一种数据识别方法、装置、存储介质和电子设备 |
CN112214593A (zh) * | 2020-11-05 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 问答处理方法、装置、电子设备及存储介质 |
CN112507091A (zh) * | 2020-12-01 | 2021-03-16 | 百度健康(北京)科技有限公司 | 检索信息的方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113157727A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113157727B (zh) | 提供召回结果的方法、设备和存储介质 | |
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
US20170185581A1 (en) | Systems and methods for suggesting emoji | |
CN104252533B (zh) | 搜索方法和搜索装置 | |
US20140351228A1 (en) | Dialog system, redundant message removal method and redundant message removal program | |
JP2022191422A (ja) | マルチメディア会話からの意図発見のためのシステムおよび方法 | |
US11531693B2 (en) | Information processing apparatus, method and non-transitory computer readable medium | |
Manjavacas et al. | Adapting vs. pre-training language models for historical languages | |
JP7335300B2 (ja) | 知識事前訓練モデルの訓練方法、装置及び電子機器 | |
JP2006244262A (ja) | 質問回答検索システム、方法およびプログラム | |
JP2014120053A (ja) | 質問応答装置、方法、及びプログラム | |
CN112559709A (zh) | 基于知识图谱的问答方法、装置、终端以及存储介质 | |
CN114154487A (zh) | 文本自动纠错方法、装置、电子设备及存储介质 | |
Liu et al. | Open intent discovery through unsupervised semantic clustering and dependency parsing | |
CN111090771A (zh) | 歌曲搜索方法、装置及计算机存储介质 | |
CN111898379A (zh) | 槽填充模型训练方法和自然语言理解模型 | |
CN114238573A (zh) | 基于文本对抗样例的信息推送方法及装置 | |
JP2018181181A (ja) | 文処理装置および文処理方法 | |
JP2006227823A (ja) | 情報処理装置及びその制御方法 | |
US11017172B2 (en) | Proposition identification in natural language and usage thereof for search and retrieval | |
CN111737422B (zh) | 实体链接方法、装置、电子设备和存储介质 | |
CN117972025B (zh) | 一种基于语义分析的海量文本检索匹配方法 | |
CN117708308B (zh) | 一种基于rag自然语言智能知识库管理的方法和*** | |
Giancaterino | NLP and Insurance-Workshop Results at SwissText 2022. | |
JP2011008373A (ja) | 自然言語処理装置及びプログラム |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230504 Address after: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong Patentee after: TENCENT MUSIC ENTERTAINMENT (SHENZHEN) Co.,Ltd. Address before: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong Patentee before: TENCENT MUSIC ENTERTAINMENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |