CN113569002A - 文本搜索方法、装置、设备以及存储介质 - Google Patents
文本搜索方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN113569002A CN113569002A CN202110139356.3A CN202110139356A CN113569002A CN 113569002 A CN113569002 A CN 113569002A CN 202110139356 A CN202110139356 A CN 202110139356A CN 113569002 A CN113569002 A CN 113569002A
- Authority
- CN
- China
- Prior art keywords
- text
- knowledge
- vector
- key
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文本搜索方法、装置、设备以及存储介质,属于机器学习领域。方法包括:获取目标文本中的第一关键词语的多个知识文本,多个知识文本用于表示第一关键词语具有的不同语义;基于第一关键词语以及目标文本中除第一关键词语以外的其他文本,获取第一关键词语的特征向量;基于第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,将第一关键词语的特征向量与多个知识文本的特征向量进行融合,得到第一关键词语的知识融合向量;基于知识融合向量获取目标文本对应的搜索文本。对第一关键词语进行特征提取的过程中,引入了知识文本,从而提高后续基于知识融合向量获取的搜索文本的准确性。
Description
技术领域
本申请涉及机器学习领域,特别涉及一种文本搜索方法、装置、设备以及存储介质。
背景技术
在网络技术飞速发展的今天,用户会通过各种各样的文本搜索应用来获取想要查看的文本。
相关技术中,文本搜索应用会基于搜索文本自身的文本特征来进行文本的搜索。但是,由于存在一词多义的现象,也即是同一个关键词语在不同的搜索文本中可能具有不同的含义,导致基于搜索文本自身的文本特征来进行文本的搜索时,文本搜索应用反馈的内容可能不是用户想要查看的文本,导致文本搜索的准确性较低。
发明内容
本申请实施例提供了一种文本搜索方法、装置、设备以及存储介质,可以提升文本搜索效果。所述技术方案如下:
一方面,提供了一种文本搜索方法,所述方法包括:
获取目标文本中的第一关键词语的多个知识文本,所述多个知识文本用于表示所述第一关键词语具有的不同语义;
基于所述第一关键词语以及所述目标文本中除所述第一关键词语以外的其他文本,获取所述第一关键词语的特征向量;
基于所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的相似度,将所述第一关键词语的特征向量与所述多个知识文本的特征向量进行融合,得到所述第一关键词语的知识融合向量;
基于所述知识融合向量获取所述目标文本对应的搜索文本。
在一种可能的实施方式中,所述基于所述知识融合向量获取所述目标文本对应的搜索文本包括:
响应于任一搜索文本的知识融合向量与所述第一关键词语的知识融合向量之间的相似度符合目标相似度条件,将所述任一搜索文本确定为与所述目标文本对应的搜索文本。
在一种可能的实施方式中,所述搜索文本的知识融合向量的获取方法包括:
对所述搜索文本的标题或简介中的至少一项进行分词语,得到所述搜索文本的多个参考词语;
响应于所述搜索文本的多个参考词语中任一参考词语与知识文本库中的任一词语相同,将所述任一参考词语确定为第二关键词语,所述知识文本库中存储有多个词语以及与所述多个词语对应的多个知识文本;
从所述知识文本库中获取所述第二关键词语对应的多个知识文本;
基于所述第二关键词语以及所述搜索文本中除所述第二关键词语以外的其他文本,获取所述第二关键词语的特征向量;
基于所述第二关键词语的特征向量与所述第二关键词语对应的多个知识文本的特征向量之间的相似度,将所述第二关键词语的特征向量与所述第二关键词语对应的多个知识文本的特征向量进行融合,得到所述搜索文本的知识融合向量。
一方面,提供了一种文本搜索装置,所述装置包括:
知识文本获取模块,用于获取目标文本中的第一关键词语的多个知识文本,所述多个知识文本用于表示所述第一关键词语具有的不同语义;
特征向量获取模块,用于基于所述第一关键词语以及所述目标文本中除所述第一关键词语以外的其他文本,获取所述第一关键词语的特征向量;
特征向量融合模块,用于基于所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的相似度,将所述第一关键词语的特征向量与所述多个知识文本的特征向量进行融合,得到所述第一关键词语的知识融合向量;
文本获取模块,用于基于所述知识融合向量获取所述目标文本对应的搜索文本。
在一种可能的实施方式中,所述特征向量获取模块,用于将所述第一关键词语以及所述其他文本输入特征提取模型;通过所述特征提取模型,对所述第一关键词语以及所述其他文本进行注意力编码,得到所述第一关键词语的特征向量。
在一种可能的实施方式中,所述特征向量获取模块,用于获取所述第一关键词语的第一查询向量、第一键向量以及第一值向量;获取所述其他文本的第二键向量以及第二值向量;对所述第一查询向量与所述第一键向量的乘积以及所述第一查询向量与所述第二键向量的乘积进行归一化处理,得到所述第一关键词语的第一注意力权重以及所述其他文本对所述第一关键词语的第二注意力权重;将所述第一注意力权重与所述第一值向量的乘积与所述第二注意力权重与所述第二值向量的乘积相加,得到所述第一关键词语的特征向量。
在一种可能的实施方式中,所述特征向量融合模块,用于通过特征提取模型执行下述步骤:
基于所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的相似度,确定所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的多个第一关联权重,所述第一关联权重用于表示对应知识文本与所述第一关键词语的相关程度;
基于多个第一关联权重,将所述第一关键词语的特征向量与所述多个知识文本的特征向量进行融合,得到所述第一关键词语的知识融合向量。
在一种可能的实施方式中,所述特征向量融合模块,用于基于多个第一关联权重,将所述第一关键词语的特征向量与所述多个知识文本的特征向量进行加权求和,得到所述第一关键词语的融合向量;对所述融合向量进行多头注意力编码,得到所述第一关键词语的多个注意力编码向量;基于所述多个注意力编码向量,得到所述第一关键词语的知识融合向量。
在一种可能的实施方式中,所述特征向量融合模块,用于将所述多个注意力编码向量进行拼接,得到注意力编码矩阵;对所述注意力编码矩阵进行降维处理,得到所述第一关键词语的知识融合向量。
在一种可能的实施方式中,所述特征提取模型的训练装置包括:
样本数据获取模块,用于获取样本数据,所述样本数据包括样本文本、样本搜索文本以及所述样本文本与所述样本搜索文本之间的样本相似度;
第一输入模块,用于将所述样本文本和所述样本搜索文本输入到所述特征提取模型;
特征提取模块,用于通过所述特征提取模型提取所述样本文本中的样本关键词语的知识融合向量以及所述样本搜索文本的知识融合向量;
调整模块,用于基于所述样本关键词语的知识融合向量和所述样本搜索文本的知识融合向量之间的相似度与所述样本相似度之间的差异信息,调整所述特征提取模型的模型参数。
在一种可能的实施方式中,所述知识文本获取模块,用于在知识文本库中查询与所述第一关键词语相同的目标词语,所述知识文本库中存储有多个词语以及与每个所述词语对应的多个知识文本;将所述目标词语对应的多个知识文本获取为所述第一关键词语的多个知识文本。
在一种可能的实施方式中,所述第一关键词语的获取装置包括:
第一分词语模块,用于对所述目标文本进行分词语,得到所述目标文本的多个参考词语;
第一确定模块,用于响应于所述多个参考词语中任一参考词语与知识文本库中的任一词语相同,将所述任一参考词语确定为所述第一关键词语,所述知识文本库中存储有多个词语以及与每个所述词语对应的多个知识文本。
在一种可能的实施方式中,所述分词语模块,用于采用不同方式对所述目标文本进行分词语,得到所述不同方式分别对应的多个参考词语序列,每个参考词语序列包括所述目标文本中的多个参考词语,同一参考词语序列中不同参考词语的字符数量相同,且不同参考词语序列中的参考词语的字符数量不同;响应于属于不同参考词语序列的多个参考词语分别与所述知识文本库中的多个词语相同,将所述属于不同参考词语序列的多个参考词语中字符数量最多的参考词语获取为所述第一关键词语。
在一种可能的实施方式中,所述多个知识文本的特征向量的获取装置包括:
第二输入模块,用于对于任一知识文本,将所述任一知识文本输入特征提取模型;
编码模块,用于通过所述特征提取模型,对所述任一知识文本中的多个词语进行注意力编码,得到所述任一知识文本的特征向量。
在一种可能的实施方式中,所述编码模块,用于对于所述任一知识文本中的多个词语中的任一词语,获取所述任一词语的第三查询向量、第三键向量以及第三值向量;获取所述任一知识文本中的多个词语中除所述任一词语之外的其他词语的第四键向量以及第四值向量;对所述第三查询向量与所述第三键向量的乘积以及所述第三查询向量与所述第四键向量的乘积进行归一化处理,得到所述任一词语的第三注意力权重以及所述其他词语对所述任一词语的第四注意力权重;将所述第三注意力权重与所述第三值向量的乘积与所述第四注意力权重与所述第四值向量的乘积相加,得到所述任一词语的特征向量;将所述任一知识文本中的多个词语的特征向量进行融合,得到所述任一知识文本的特征向量。
在一种可能的实施方式中,所述文本获取模块,用于响应于任一搜索文本的知识融合向量与所述第一关键词语的知识融合向量之间的相似度符合目标相似度条件,将所述任一搜索文本确定为与所述目标文本对应的搜索文本。
在一种可能的实施方式中,所述搜索文本的知识融合向量的获取装置包括:
第二分词语模块,用于对所述搜索文本的标题或简介中的至少一项进行分词语,得到所述搜索文本的多个参考词语;
第二确定模块,用于响应于所述搜索文本的多个参考词语中任一参考词语与知识文本库中的任一词语相同,将所述任一参考词语确定为第二关键词语,所述知识文本库中存储有多个词语以及与所述多个词语对应的多个知识文本;
所述知识文本获取模块,还用于从所述知识文本库中获取所述第二关键词语对应的多个知识文本;
所述特征向量获取模块,还用于基于所述第二关键词语以及所述搜索文本中除所述第二关键词语以外的其他文本,获取所述第二关键词语的特征向量;
所述特征向量融合模块,还用于基于所述第二关键词语的特征向量与所述第二关键词语对应的多个知识文本的特征向量之间的相似度,将所述第二关键词语的特征向量与所述第二关键词语对应的多个知识文本的特征向量进行融合,得到所述搜索文本的知识融合向量。
一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现所述文本搜索方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现所述文本搜索方法。
一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述文本搜索方法。
通过本申请实施例提供的技术方案,在对第一关键词语进行特征提取的过程中,引入了知识文本,通过知识文本来对第一关键词语的特征向量中携带的语义进行补充,得到的知识融合向量能够更加完整的表示第一关键词语在目标文本中的语义,从而提高后续基于知识融合向量获取的搜索文本的准确性。
附图说明
为例更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种文本搜索方法的实施环境的示意图;
图2是本申请实施例提供的一种界面示意图;
图3是本申请实施例提供的一种界面示意图;
图4是本申请实施例提供的一种界面示意图;
图5是本申请实施例提供的一种界面示意图;
图6是本申请实施例提供的一种文本搜索方法的流程图;
图7是本申请实施例提供的一种文本搜索方法的流程图;
图8是本申请实施例提供的一种知识图谱的示意图;
图9是本申请实施例提供的一种获取第一关键词语的方法的流程图;
图10是本申请实施例提供的一种确定第一关键词语融合向量的方法的流程图;
图11是本申请实施例提供的一种特征提取模型的训练方法示意图;
图12是本申请实施例提供的一种特征提取模型的训练方法示意图;
图13是本申请实施例提供的一种文本搜索装置结构示意图;
图14是本申请实施例提供的一种终端的结构示意图;
图15是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个参照人脸图像是指两个或两个以上的参照人脸图像。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识子模型使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
归一化处理:将取值范围不同的数列映射到(0,1)区间上,便于数据的处理。在一些情况下,归一化后的数值可以直接被实现为概率。
嵌入编码(Embedded Coding):嵌入编码在数学上表示一个对应关系,即通过一个函数F将X空间上的数据映射到Y空间上,其中该函数F是单射函数,映射的结果是结构保存,单射函数表示映射后的数据与映射前的数据唯一对应,结构保存表示映射前数据的大小关系后映射后数据的大小关系相同,例如映射前存在数据X1以及X2,映射后得到X1对应的Y1以及X2对应的Y2。若映射前的数据X1>X2,那么相应的,映射后的数据Y1大于Y2。对于词语语来说,就是将词语语映射到另外一个空间,便于后续的机器学习和处理。
注意力权重:可以表示训练或预测过程中某个数据的重要性,重要性表示输入的数据对输出数据影响的大小。重要性高的数据其对应的注意力权重的值较高,重要性低的数据其对应的注意力权重的值较低。在不同的场景下,数据的重要性并不相同,模型的训练注意力权重的过程也即是确定数据重要性的过程。
知识图谱:是一种描述实体之间关系的语义网络,通常用三元组来表示。知识图谱的三元组包含两个实体(语义网络中的节点)和一种关系(语义网络中的边)。举例而言,“北京”是一个实体,“中国”是一个实体,“北京”是“中国”的“首都”,则“首都”是一种关系;该三元组表示为(北京,首都,中国),即(实体1,关系,实体2)。知识图谱是一种有效的知识表示方式,有助于推进模型推理、智能搜索、问答***、社交网络等多方面的应用研究。
语义匹配:指的是计算两段文本之间的语义相关性,若相关性高则认为两段文本匹配。很多自然语言处理任务都可转为语义匹配问题,例如网页搜索可抽象为用户query与网页内容的相关性匹配问题,自动问答可抽象为问题与候选答案的满足度匹配问题,文本去重可抽象为文本与文本之间的相似度匹配问题。
中文分词:指的是将中文文本序列切分成一个个单独的词语。分词就是将连续的字序列按照一定的规范重新组合成词语序列的过程。
文本向量:指的是将一段不定长的文本通过某种方式转换成一个定长的数值型向量。向量可分为两种形式:一种是高维稀疏向量,通常是将词语表的长度作为向量的长度,每一维表示一个词语,只有在词语所对应的维度才有非零值,大部分维度都为零;另一种是低维稠密向量,可将文本输入到神经网络等模型中,通过训练输出向量表示,向量的每一维基本是非零值,没有明确的物理含义,但效果通常比高维稀疏向量更好。
二元组数据:在文本匹配的场景下,一个二元组数据包括两个文本以及一个标签(0或1来表示)。假设两个文本为A和B,若两者匹配,则二元组数据为(A,B,1);若不匹配,则二元组数据为(A,B,0)。
全连接层:是人工神经网络中的基础结构之一,每一层是由多个人工神经元组成,当前层的每个人工神经元会与上一层的所有神经元进行连接,非邻居的全连接层则没有连接。在深度学习中,用于分类任务的神经网络模型通常在末端使用全连接层,可将隐层特征有效地映射到样本标记空间,提高训练效果。
池化层(Pooling Layer):是人工神经网络中的基础结构之一,主要作用是减小模型参数量,降低过拟合。常用的池化层分为平均池化层和最大池化层。两种池化层都是将上一层神经网络抽取的特征向量转换成更低维的特征向量,区别在于,平均池化层是在设定的维度范围内计算平均值,而最大池化层是计算最大值。
注意力机制:Attention机制借鉴了人类的注意力思维方式,最早应用于图像领域。人类眼睛在观看一幅图像时,会先快速扫描并获取需要重点关注的目标区域,然后在目标区域投入更多的注意力,获取其细节信息,从而抑制其他非重点区域的无效信息。这种方式可以帮助人类利用有限的注意力从大量信息中筛选出高价值信息。在自然语言处理领域,注意力机制也非常重要。由于文本中包含了许多低价值的词语(比如停用词语等),如果不加区分地进行特征表示,则会降低重要词语的作用,影响模型精度。为此,可通过Attention机制进行有选择性地特征抽取和表示。
垂直搜索:垂直搜索是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。
图1是本申请实施例提供的一种文本搜索方法的实施环境示意图,参见图1,该实施环境中可以包括终端110和服务器140。
终端110通过无线网络或有线网络与服务器140相连。可选地,终端110是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110安装和运行有支持图像显示的应用程序。
可选地,服务器140是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式***,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
可选地,终端110泛指多个终端中的一个,本申请实施例仅以终端110来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述实施环境中还包括其他终端。本申请实施例对终端的数量和设备类型不加以限定。
介绍完本申请实施例的实施环境之后,下面对本申请实施例的应用场景进行介绍。
本申请实施例能够应用在各种文本搜索的场景下,比如,应用在社交类应用提供的文本搜索场景下,或者应用在搜索引擎的文本搜索场景下,或者应用在音乐搜索或视频搜索的场景下,本申请实施例对此不做限定。
在社交类应用提供的文本搜索的场景下,文本搜索也可以被称为内容搜索,社交类应用能够提供内容搜索界面,用户通过该内容搜索界面就能够基于目标文本进行搜索,得到想要查看的内容。举例来说,参见图2,图2中的第一个图为社交类应用提供的多种功能控件,用户点击不同的功能控件,社交类应用程序就能够显示对应的功能界面。在一些实施例中,功能控件201为切换为内容搜索界面的功能控件,响应于检测到对功能控件201的点击操作,终端显示功能控件201对应的内容搜索界面202,内容搜索界面的一个示例为图2中的第二个图。内容搜索界面202包括文本输入区域2021以及文本搜索控件2022,用户能够在文本输入区域2021中输入想要搜索的文本,点击文本搜索控件2022即可实现对输入内容的搜索。对于终端来说,响应于检测到对文本搜索控件2022的点击操作,将文本输入区域2021中的文本发送至服务器,由服务器通过本申请实施例提供的技术方案,对该文本进行搜索,将搜索结果发送给终端,由终端将搜索结果展现给用户。参见图3,终端接收到服务器发送的搜索结果之后,能够将内容搜索界面202切换为内容展示界面301,内容展示界面301中显示有用户在文本输入区域2021输入的文本3011,还能够显示有搜索结果显示区域3012。在一些实施例中,内容展示界面301中还显示有搜索范围切换控件302,响应于检测到对搜索范围切换控件302的点击操作,终端能够在搜索结果显示区域3012中展示与该搜索范围切换控件302对应的搜索范围中的搜索结果。在一些实施例中,内容搜索界面202上除了显示有文本输入区域2021和文本搜索控件2022之外,还能够显示有搜索文本的类型选择区域2023以及内容推荐区域2024。类型选择区域2023用于选择搜索的范围,比如,类型选择区域2023内存在选项“财经”、“体育”以及“科技”,当用户在类型选择区域2023中选择任一选项之后,在通过文本输入区域2021输入文本,并通过文本搜索控件2022进行搜索之后,返回的搜索结果为该范围内的内容,若用户选择了选项“财经”,那么返回的内容也即是“财经”类的内容。在一些实施例中,通过类型选择区域2023来选择搜索范围的方式,也可以被称为垂直搜索。内容推荐区域2024中提供有多个热点搜索文本,在一些实施例中,热点搜索文本也即是搜索数量超过搜索阈值的搜索文本,用户点击任一热点搜索文本后,终端就能够显示该热点搜索文本对应的内容。
在搜索引擎的文本搜索场景下,用户能够在搜索引擎的搜索框中输入目标文本,点击搜索引擎的搜索控件就能够实现文本搜索。举例来说,参见图4,用户能够在搜索引擎的搜索界面401中的搜索框402中输入目标文本,输入完毕之后,点击搜索引擎的搜索控件403就能够得到基于搜索框中输入的目标文本的搜索结果。对于终端来说,响应于检测到对搜索控件403的点击操作,终端向服务器发送文本搜索请求,文本搜索请求中携带有搜索框402中的目标文本。响应于接收到文本搜索请求,服务器从文本搜索请求中获取该目标文本,通过本申请实施例提供的技术方案,基于该目标文本进行搜索,得到搜索结果,将搜索结果发送给终端,由终端将搜索结果展示给用户。
在音乐搜索或视频搜索的场景下,用户能够在音乐搜索界面的搜索框中目标文本,点击音乐搜索界面的搜索控件就能够实现文本搜索。举例来说,参见图5,用户能够在音乐搜索界面501中的搜索框502中输入目标文本,在一些实施例中,该目标文本为音乐或视频的标题,输入完毕之后,点击音乐搜索界面501的搜索控件503就能够得到基于搜索框中输入的内目标文本的搜索结果。对于终端来说,响应于检测到对搜索控件503的点击操作,终端向服务器发送文本搜索请求,文本搜索请求中携带有搜索框502中的目标文本。响应于接收到文本搜索请求,服务器从文本搜索请求中获取该目标文本,通过本申请实施例提供的技术方案,基于该目标文本进行搜索,得到搜索结果,将搜索结果发送给终端,由终端将搜索结果展示给用户。
需要说明的是,本申请实施例中仅以上述应用场景为例进行说明,在其他可能的实施方式中,本申请实施例提供的技术方案能够应用在其他文本搜索的场景下,本申请实施例对此不做限定。
对本申请实施例的应用场景进行说明之后,下面对本申请实施例提供的技术方案进行说明。
在下述对本申请实施例提供的技术方案进行说明的过程中,是以计算机设备为服务器为例进行的。在其他可能的实施方式中,也可以由终端作为执行主体,或者通过终端和服务器之间的配合来执行下述技术方案,本申请实施例对于执行主体的类型不做限定。
图6是本申请实施例提供的一种文本搜索方法的流程图,参见图6,方法包括:
601、服务器获取目标文本中的第一关键词语的多个知识文本,多个知识文本用于表示第一关键词语具有的不同语义。
其中,第一关键词语为在不同语境下具有不同语义的词语,比如,对于第一关键词语“苹果”来说,既可以表示一种水果“苹果”,也可以表示一家公司“苹果公司”。一个知识文本能够表示第一关键词语的一个语义,相应的,多个知识文本能够表示第一关键词语不同语义的文本。
602、服务器基于第一关键词语以及目标文本中除第一关键词语以外的其他文本,获取第一关键词语的特征向量。
其中,由于第一关键词语为在不同语境下具有不同语义的词语,而语境也是由目标文本中的其他文本和第一关键词语共同决定的,因此基于第一关键词语本身以及其他文本得到的第一关键词语的特征向量,能够在一定程度上反映第一关键词语在目标文本中的语义。
603、服务器基于第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,将第一关键词语的特征向量与多个知识文本的特征向量进行融合,得到第一关键词语的知识融合向量。
其中,由于多个知识文本能够表示第一关键词语的多个语义,那么基于第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,将第一关键词语的特征向量与多个知识文本的特征向量进行融合,能够在第一关键词语的特征向量中补充外部知识,得到的第一关键词语的知识融合向量就能够更加完整的表示第一关键词语在目标文本中的语义。
604、服务器基于知识融合向量获取目标文本对应的搜索文本。
其中,由于知识融合向量能够较为完整的表示第一关键词语在目标文本中的语义,那么基于知识融合向量得到的搜索文本,能够更加贴近用户的搜索需求,从而提高文本搜索的准确性。
由于第一关键词语在不同文本中可能对应于不同的语义,通过本申请实施例提供的技术方案,在对第一关键词语进行特征提取的过程中,引入了知识文本,不同知识文本能够表示第一关键词语的不同语义。通过知识文本的特征向量与第一关键词语的特征向量之间的相关性,将知识文本的特征向量与第一关键词语的特征向量进行融合,也即是为第一关键词语的特征向量中携带的语义信息进行补充,使得知识融合向量能够更加准确的表示第一关键词语在目标文本中的语义,从而提高后续基于知识融合向量获取的搜索文本的准确性。
图7是本申请实施例提供的一种文本搜索方法的流程图,参见图7,方法包括:
701、服务器从目标文本中获取第一关键词语。
在一种可能的实施方式中,服务器对目标文本进行分词语,得到目标文本的多个参考词语。响应于多个参考词语中任一参考词语与知识文本库中的任一词语相同,服务器将该参考词语确定为第一关键词语,知识文本库中存储有多个词语以及与每个词语对应的多个知识文本。
其中,目标文本也即是用户在终端上输入的文本,用户能够通过目标文本来进行文本搜索。知识文本库以结构化数据的形式来存储多个词语以及与每个词语对应的多个知识文本,也即是将以多个词语为键(Key),以每个词语(Key)对应的知识文本作为值(Value)来进行存储,服务器能够基于词语(Key)来查找对应的知识文本(Value)。在一些实施例中,服务器能够基于知识图谱来生成知识文本库,知识图谱的一个示例参见图8,801为用户输入的关键词语,802为与该关键词语对应的知识文本。在一些实施例中,关键词语也被称为“实体”,“实体”可能是人名、机构名或者事务名称等。
在这种实施方式下,服务器能够在对目标文本进行分词语的基础上,在知识文本库中对多个参考词语进行查询,从而确定目标文本中的第一关键词语,第一关键词语的获取效率较高。
举例来说,服务器以固定间隔对目标文本进行分词语,得到包含相同字符数量的多个参考词语。服务器将多个参考词语分别在知识文本库中进行查询,当确定出多个参考词语中任一参考词语与知识文本库中的任一词语相同时,服务器将该参考词语确定为第一关键词语。比如,对于目标文本“AB12价格”来说,其中AB为产品的名称,12为产品的型号,另外,AB除了为产品的名称之外,还能够为一种水果的名称,换句话说,“AB12价格”与“AB价格”相近似。若服务器以固定间隔2对目标文本进行分词语时,能够将目标文本“AB12价格”分成6个参考词语“AB”、“B1”、“12”、“2多”、“多少”以及“少钱”。服务器能够在知识文本库中查询6个参考词语,当知识文本库中存在词语“AB”时,服务器能够将参考词语“AB”确定为目标文本的第一关键词语。
在一种可能的实施方式中,服务器采用不同方式对目标文本进行分词语,得到不同方式分别对应的多个参考词语序列,每个参考词语序列包括目标文本中的多个参考词语,同一参考词语序列中不同参考词语的字符数量相同,且不同参考词语序列中的参考词语的字符数量不同。响应于属于不同参考词语序列的多个参考词语分别与知识文本库中的多个词语相同,将属于不同参考词语序列的多个参考词语中字符数量最多的参考词语获取为第一关键词语。
参见图9,以目标文本为“AB12价格”为例来说,终端能够采用One-Gram(单词分词)、Bi-Gram(双词分词)以及Tri-Gram(三词分词)方法对目标文本进行分词语,其中,One-Gram能够将目标文本分为单个词语,也即是将目标文本“AB12价格”分为三个参考词语“AB”、“12”以及“价格”,“AB”、“12”以及“价格”也就构成了One-Gram的一个参考词语序列。Bi-Gram能够将目标文本分为两个词语的组合,也即是将目标文本“AB12价格”分为参考词语“AB12”以及“12价格”,“AB12”以及“12价格”也就构成了Bi-Gram的一个参考词语序列。Tri-Gram能够将目标文本分为三个词语的组合,也即是将目标文本“AB12价格”分为参考词语“AB12价格”,“AB12价格”也就构成了Tri-Gram的一个参考词语序列。若One-Gram的参考词语序列中的“AB”与知识文本库中的一个词语相同,且Bi-Gram的参考词语序列中的“AB12”与知识文本库中的另一个词语相同,由于“AB12”中的字符数量大于“AB”中字符的数量,那么服务器能够将“AB12”确定为目标文本的第一关键词语。在一些实施例中,服务器从属于不同参考词语序列的多个参考词语中确定第一关键词语的过程,可以由特征提取模型的知识发现层901来实现。
702、服务器获取目标文本中的第一关键词语的多个知识文本,多个知识文本用于表示第一关键词语具有的不同语义。
在一种可能的实施方式中,服务器在知识文本库中查询与第一关键词语相同的目标词语。服务器将目标词语对应的多个知识文本获取为第一关键词语的多个知识文本。
在这种实施方式下,服务器能够从知识文本库中快捷地获取第一关键词语的多个知识文本,后续能够基于多个知识文本来获取第一关键词语的知识融合向量,从而更加准确的表达第一关键词语在目标文本中的语义。
举例来说,以目标文本为“AB12价格”,其中,“AB”为一种电子产品的名称,“12”为该电子产品的型号,目标文本的第一关键词语为“AB12”为例,服务器能够在知识文本库中查询与第一关键词语“AB12”相同的目标词语“AB12”,若该目标词语“AB12”对应于三个知识文本“发布日期为XX月XX日”、“使用YY处理器”以及“采用了ZZ***”,那么服务器能够将三个知识文本“发布日期为XX月XX日”、“使用YY处理器”以及“采用了ZZ***”确定为第一关键词语“AB12”的知识文本。
703、服务器基于第一关键词语以及目标文本中除第一关键词语以外的其他文本,获取第一关键词语的特征向量。
在一种可能的实施方式中,服务器将第一关键词语以及其他文本输入特征提取模型,通过特征提取模型,对第一关键词语以及其他文本进行注意力编码,得到第一关键词语的特征向量。
在这种实施方式下,由于第一关键词与其他文本结合才能够反映第一关键词语在目标文本中的语义,服务器能够对第一关键词语以及其他文本进行注意力编码,基于注意力编码得到第一关键词语的特征向量,从而采用的第一关键词语的特征向量能够完整的表示第一关键词语的语义。
举例来说,服务器将第一关键词语以及其他文本分别输入特征提取模型。服务器通过特征提取模型,获取第一关键词语的第一查询向量、第一键向量以及第一值向量。服务器通过特征提取模型,获取其他文本的第二键向量以及第二值向量。服务器对第一查询向量与第一键向量的乘积以及第一查询向量与第二键向量的乘积进行归一化处理,得到第一关键词语的第一注意力权重以及其他文本对第一关键词语的第二注意力权重。服务器将第一注意力权重与第一值向量的乘积与第二注意力权重与第二值向量的乘积相加,得到第一关键词语的特征向量。在一些实施例中,第一查询向量和第一键向量用于获取第一关键词语的第一注意力权重,第一值向量用于表示第一关键词语,第一注意力权重和第一值向量用于获取第一关键词语的特征向量。
为了更加清楚的对上述实施方式进行说明,下面在上述举例的基础上,结合一些数值来进行举例说明。
以目标文本为“AB12价格”,第一关键词语为“AB”为例,服务器将第一关键词语“AB”映射为第一嵌入向量,比如为(1,2,3),将其他文本中的多个词语分别映射为多个第二嵌入向量,比如将为“12”映射为第二嵌入向量(1,3,2),将“价格”映射为第二嵌入向量(2,1,5)。服务器将第一嵌入向量(1,2,3)和两个第二嵌入向量(1,3,2)和(2,1,5)输入特征提取模型。服务器通过特征提取模型,基于三个线性变换矩阵以及其中,线性变换矩阵用于获取第一关键词语的查询向量,线性变换矩阵用于获取第一关键词语的键向量,线性变换矩阵用于获取第一关键词语的值向量。服务器将第一关键词语的第一嵌入向量(1,2,3)分别与三个线性变换矩阵相乘,得到第一关键词语的第一查询向量(9,2,8)、第一键向量(11,4,8)以及第一值向量(6,3,4)。服务器通过特征提取模型,获取其他文本中两个词语的第二键向量以及第二值向量,也即是将“12”对应的第二嵌入向量(1,3,2)分别与线性变换矩阵以及相乘,得到“12”对应的第二键向量(8,6,9)以及第二值向量(9,4,3)。将“价格”对应的第二嵌入向量(2,1,5)分别与线性变换矩阵以及相乘,得到“价格”对应的第二键向量(19,2,9)以及第二值向量(3,3,7)。服务器获取第一查询向量(9,2,8)与第一键向量(11,4,8)的乘积123。服务器获取第一查询向量(9,2,8)与“12”对应的第二键向量(8,6,9)的乘积156。服务器获取第一查询向量(9,2,8)与“钱”对应的第二键向量(19,2,9)的乘积247。服务器通过SoftMax函数对乘积123、乘积156和乘积247进行归一化处理,得到第一关键词语“AB”的第一注意力权重0.2、词语“12”的第二注意力权重为0.3、词语“”的第二注意力权重为0.5。服务器将第一注意力权重0.2与第一关键词语的第一值向量(6,3,4)相乘,得到向量(1.2,0.6,0.8)。服务器将词语“12”的第二注意力权重0.3与词语“12”的第二值向量(9,4,3)相乘,得到向量(2.7,1.2,0.9)。服务器将“价格”的第二注意力权重0.5与“价格”的第二值向量(3,3,7)相乘,得到向量(1.5,1.5,3.5)。服务器将向量(1.2,0.6,0.8)、向量(2.7,1.2,0.9)以及向量(1.5,1.5,3.5)相加,得到第一关键词语的特征向量(5.4,3.3,5.2)。
704、服务器基于第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,将第一关键词语的特征向量与多个知识文本的特征向量进行融合,得到第一关键词语的知识融合向量。
在一种可能的实施方式中,服务器通过特征提取模型,基于第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,确定第一关键词语的特征向量与多个知识文本的特征向量之间的多个第一关联权重,第一关联权重用于表示对应知识文本与第一关键词语的相关程度。服务器基于多个第一关联权重,将第一关键词语的特征向量与多个知识文本的特征向量进行融合,得到第一关键词语的知识融合向量。
在这种实施方式下,服务器能够通过特征提取模型,基于第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,确定第一关联权重,也即是,当第一关键词语的特征向量与一个知识文本的特征向量之间的相似度较高时,表明该知识文本更加贴近第一关键词语在目标文本中的语义,服务器能够将第一关键词语的特征向量与该知识文本的特征向量之间的第一关联权重设置的较高,从而对第一关键词语的特征向量中携带的语义信息进行补充,得到的知识融合向量也就能够更加准确的表示第一关键词语的在目标文本中的语义。
为了对上述实施方式进行更加清楚的描述,下面将分为两个部分对上述实施方式进行说明,第一部分对获取第一关联权重的方法进行说明,第二部分对获取知识融合向量的方法进行说明。
第一部分,在一种可能的实施方式中,服务器将第一关键词语的特征向量与多个知识文本的特征向量输入特征提取模型,特征提取模型通过下述公式(1)来获取第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,通过下述公式(2)来确定第一关键词语的特征向量与多个知识文本的特征向量之间的多个第一关联权重。
ei=σ(Eentity,Eki)=tanh(Wentity·Eentity+Wk·Eki) (1)
其中,ei为中间变量,σ()为相似度计算的函数,Eentity为第一关键词语的特征向量,Eki为知识文本的特征向量,i为知识文本的序号。tanh()为正切函数,Wentity和Wk为参数矩阵,在训练特征提取模型的过程中生成,ai为第一注意力权重。
由于第一关键词语的特征向量Eentity包含了目标文本的上下文信息,因此使用上述公式(1)和公式(2)能够很好地获取每个知识文本在当前语境中的作用。
在一种可能的实施方式中,第一关联权重与第一关键词语的特征向量与知识文本的特征向量之间的相似度呈正比,也即是,第一关键词语的特征向量与某个知识文本的特征向量之间的相似度越高,那么第一关键词语的特征向量与该知识文本的特征向量之间的第一关联权重的数值也就越大。相应的,第一关键词语的特征向量与另一个知识文本的特征向量之间的相似度越高,那么第一关键词语的特征向量与该知识文本的特征向量之间的第一关联权重的数值也就越小。以第一关键词语对应于三个知识文本“发布日期为XX月XX日”、“使用YY处理器”以及“采用了ZZ***”,第一关键词语的特征向量为(5.4,3.3,5.2),为了方便计算,对该特征向量进行取整,得到取整后的特征向量(5,3,5),三个知识文本分别对应的特征向量为(1,0,1)、(1,1,1)以及(0,0,1)为例进行说明。服务器能够通过特征提取模型,分别获取第一关键词语的特征向量(5.4,3.3,5.2)与三个特征向量为(1,0,1)、(1,1,1)以及(0,0,1)之间的余弦相似度0.92、0.97以及0.65。在一些实施例中,服务器能够将余弦相似度0.92确定为第一关键词语的特征向量(5,3,5)与知识文本“发布日期为XX月XX日”的特征向量(1,0,1)之间的第一关联权重,将余弦相似度0.97确定为第一关键词语的特征向量(5,3,5)与知识文本“使用YY处理器”的特征向量(1,1,1)之间的第一关联权重,将余弦相似度0.65确定为第一关键词语的特征向量(5,3,5)与知识文本“采用了ZZ***”的特征向量(0,0,1)之间的第一关联权重。另外,在一些实施例中,服务器能够通过特征提取模型,对三个余弦相似度0.92、0.97以及0.65进行归一化处理,得到三个第一关联权重0.36、0.38以及0.26。
第二部分,在一种可能的实施方式中,服务器通过特征提取模型,基于多个第一关联权重,将第一关键词语的特征向量与多个知识文本的特征向量进行加权求和,得到第一关键词语的融合向量。服务器通过特征提取模型,对融合向量进行多头注意力编码,得到第一关键词语的多个注意力编码向量。服务器通过特征提取模型,基于多个注意力编码向量,得到第一关键词语的知识融合向量。其中,多头注意力编码也即是利用不同的线性变换矩阵,对知识融合向量进行编码的过程,多头注意力编码能够对知识融合向量进行更深层次的特征捕捉,从而提高知识融合向量的特征表达能力。
为了对第二部分进行更加清楚的说明,下面将第二部分再分为三个分支进行介绍,在第一个分支中,对得到第一关键词语的融合向量的方法进行说明;在第二个分支中,对得到第一关键词语的多个注意力编码向量的方法进行说明;在第三个分支中,对得到第一关键词语的知识融合向量的方法进行说明。
第二部分的第一个分支,在一种可能的实施方式中,服务器能够通过下述公式(3)来获取第一关键词语的融合向量。
其中,Ee-k为第一关键词语的融合向量。
下面将结合图10以及上述公式(1)-公式(3),对服务器基于第一关键词语的特征向量以及多个知识文本的特征向量,获取第一关键词语的融合向量进行说明。
参见图10,服务器将第一关键词语以及多个知识文本输入特征提取模型的编码层1001,通过编码层1001对第一关键词语以及多个知识文本k1-kn进行编码,得到第一关键词语的特征向量Eentity以及多个知识文本的特征向量Ek1-Ekn。服务器将第一关键词语的特征向量Eentity以及多个知识文本的特征向量Ek1-Ekn输入特征提取模型的第一关联权重确定层1002,由第一关联权重确定层1002,基于上述公式(1)和公式(2),来获取多个第一关联权重a1-an,在一些实施例中,第一关联权重确定层1002也被称为注意力层(Attention Layer)。服务器通过特征提取模型,将第一关联权重与对应的特征向量相乘,将相乘后的向量输入特征提取模型的全连接层1003,通过全连接层1003,基于上述公式(3),来获取第一关键词语的融合向量Ee-k。
在一种可能的实施方式中,以第一关键词语对应于三个知识文本“发布日期为XX月XX日”、“使用YY处理器”以及“采用了ZZ***”,第一关键词语的特征向量为(5.4,3.3,5.2),三个知识文本分别对应的特征向量为(1,0,1)、(1,1,1)以及(0,0,1),三个知识文本分别对应的第一关联权重为0.92、0.97以及0.65为例进行说明,为了方便计算,对该特征向量进行取整,得到取整后的特征向量(5,3,5)。服务器通过特征提取模型,基于一个第一关联权重0.92,将第一关键词语的特征向量(5,3,5)与“发布日期为XX月XX日”对应的特征向量(1,0,1)进行融合,也即是将特征向量(5,3,5)与第一关联权重0.92和特征向量(1,0,1)的乘积相加,得到向量(5.92,3,5.92),同理,服务器通过特征提取模型,将特征向量(5,3,5)与第一关联权重0.97和特征向量(1,1,1)的乘积相加,得到向量(5.97,3.97,5.97),将特征向量(5,3,5)与第一关联权重0.65和特征向量(0,0,1)的乘积相加,得到向量(5,3,5.65)。服务器通过特征提取模型,将三个向量(5.92,3,5.92)、向量(5.97,3.97,5.97)以及向量(5,3,5.65)进行相加,得到第一关键词语的融合向量(16.89,9.97,17.54)。
第二部分的第二个分支,以多头注意力编码为三头注意力编码为例进行说明。为了方便描述,将三个头分别命名为注意力头A、注意力头B以及注意力头C。对于三个注意力头来说,每个注意力头均对应于三个线性变化矩阵WQ、WK以及WV,在一些实施例中,注意力头A对应的三个线性变化矩阵为以及注意力头B对应的三个线性变化矩阵为以及注意力头C对应的三个线性变化矩阵为以及
为了方便计算,对第二部分的第一个分支中确定出的第一关键词语的融合向量(16.89,9.97,17.54)进行取整,得到取整后的融合向量(17,10,18),下面的说明基于取整后的融合向量(17,10,18)来进行。
对于注意力头A来说,服务器通过特征提取模型,将第一关键词语的融合向量(17,10,18)分别与三个线性变换矩阵以及相乘,得到融合向量(17,10,18)的查询向量(63,10,56)、键向量(88,20,55)以及值向量(30,27,35)。服务器通过特征提取模型,将查询向量(63,10,56)与键向量的转置(88,20,55)T相乘,得到数值8824,对数值8824进行归一化处理,得到第一关键词语的注意力权重,比如为0.5。服务器将注意力权重0.5与第一关键词语的值向量(30,27,35)相乘,得到第一关键词语的一个注意力编码向量(15,13.5,17.5)。
对于注意力头B来说,服务器通过特征提取模型,将第一关键词语的融合向量(17,10,18)分别与三个线性变换矩阵以及相乘,得到融合向量(17,10,18)的查询向量(53,10,18)、键向量(88,20,35)以及值向量(0,27,35)。服务器通过特征提取模型,将查询向量(53,10,18)与键向量的转置(88,20,35)T相乘,得到数值5494,对数值5494进行归一化处理,得到第一关键词语的注意力权重,比如为0.3。服务器将注意力权重0.3与第一关键词语的值向量(0,27,35)相乘,得到第一关键词语的一个注意力编码向量(0,8.1,10.5)。
对于注意力头C来说,服务器通过特征提取模型,将第一关键词语的融合向量(17,10,18)分别与三个线性变换矩阵以及相乘,得到融合向量(17,10,18)的查询向量(35,10,35)、键向量(87,20,45)以及值向量(47,0,35)。服务器通过特征提取模型,将查询向量(35,10,35)与键向量(87,20,45)T相乘,得到数值4820,对数值4820进行归一化处理,得到第一关键词语的注意力权重,比如为0.2。服务器将注意力权重0.2与第一关键词语的值向量(47,0,35)相乘,得到第一关键词语的一个注意力编码向量(9.4,0,7)。
第二部分的第三个分支,服务器通过特征提取模型,将多个注意力编码向量进行拼接,得到注意力编码矩阵。服务器通过特征提取模型,对注意力编码矩阵进行降维处理,得到第一关键词语的知识融合向量。
以多头注意力编码为上述第二个分支中的三头注意力编码为例进行说明。服务器通过特征提取模型,将第一关键词语的注意力编码向量(15,13.5,17.5)、注意力编码向量(0,8.1,10.5)以及注意力编码向量(9.4,0,7)进行拼接,得到注意力编码矩阵服务器通过特征提取模型,对注意力编码矩阵进行全连接处理,也即是将注意力编码矩阵与全连接权重向量(0,1,-1)T相乘后与全连接偏置向量(1,0,1)T相加,得到第一关键词语的知识融合向量(-3,-2.4,-6)T。
下面对服务器通过获取多个知识文本的特征向量的获取方法进行说明:
在一种可能的实施方式中,对于任一知识文本,服务器将任一知识文本输入特征提取模型。服务器通过特征提取模型,对该知识文本中的多个词语进行注意力编码,得到该知识文本的特征向量。
举例来说,对于任一知识文本中的多个词语中的任一词语,服务器通过特征提取模型,获取该词语的第三查询向量、第三键向量以及第三值向量。服务器通过特征提取模型,获取该知识文本中的多个词语中除该词语之外的其他词语的第四键向量以及第四值向量。服务器通过特征提取模型,对第三查询向量与第三键向量的乘积以及第三查询向量与第四键向量的乘积进行归一化处理,得到该词语的第三注意力权重以及其他词语对该词语的第四注意力权重。服务器通过特征提取模型,将第三注意力权重与第三值向量的乘积与第四注意力权重与第四值向量的乘积相加,得到该词语的特征向量。服务器通过特征提取模型,将该知识文本中的多个词语的特征向量进行融合,得到该知识文本的特征向量。
下面以该知识文本为“使用YY处理器”为例进行说明,在一些实施例中,服务器能够对该知识文本“使用YY处理器”进行分词语,得到两个词语“使用YY”以及“处理器”。对于词语“使用YY”来说,服务器对该词语“使用YY”进行嵌入编码,得到该词语“使用YY”的嵌入向量,比如为(1,-1,2)。服务器将“使用YY”的嵌入向量(1,-1,2)输入特征提取模型,通过特征提取模型的三个线性变换矩阵以及分别与该嵌入向量(1,-1,2)相乘,得到该词语“使用YY”的第三查询向量(4,1,-4)、第三键向量(8,2,3)以及第三值向量(4,0,-3)。服务器提取该知识文本中的另一个词语“处理器”的嵌入向量,比如为(1,0,-2)。服务器将“处理器”的嵌入向量(1,0,-2)输入特征提取模型,通过特征提取模型的三个线性变换矩阵以及分别与该嵌入向量(1,0,-2)相乘,得到该词语“处理器”的第四查询向量(4,2,-1)、第四键向量(6,0,4)以及第四值向量(3,1,2)。服务器通过特征提取模型,获取第三查询向量(4,1,-4)与第三键向量(8,2,3)的乘积20,获取第三查询向量(4,1,-4)与第四键向量(6,0,4)的乘积8。服务器通过特征提取模型,对乘积20和乘积8进行归一化处理,得到该词语“使用YY”的第三注意力权重0.7,以及词语“处理器”对该词语“使用YY”的第四注意力权重0.3。服务器通过特征提取模型,将该词语“使用YY”的第三注意力权重0.7与该词语“使用YY”的第三值向量(4,0,-3)相乘,得到向量(2.8,0,-2.1)。服务器通过特征提取模型,将词语“处理器”对该词语“使用YY”的第四注意力权重0.3与词语“处理器”的第四值向量(3,1,2)相乘,得到向量(0.9,0.3,0.6)。服务器通过特征提取模型,将向量(2.8,0,-2.1)与向量(0.9,0.3,0.6)相加,得到该词语“使用YY”的特征向量(3.7,0.3,-1.5)。
对于词语“处理器”来说,服务器通过特征提取模型,获取第四查询向量(4,2,-1)与第四键向量(6,0,4)的乘积20。获取第四查询向量(4,2,-1)与第三键向量(8,2,3)的乘积33。服务器通过特征提取模型,对乘积20和乘积33进行归一化处理,得到词语“处理器”的第三注意力权重0.38,以及该词语“使用YY”对词语“处理器”的第四注意力权重0.62。服务器通过特征提取模型,将词语“处理器”的第三注意力权重0.38与词语“处理器”的第四值向量(3,1,2)相乘,得到向量(1.14,0.38,0.76)。服务器通过特征提取模型,将该词语“使用YY”对词语“处理器”的第四注意力权重0.62与该词语“使用YY”的第三值向量(4,0,-3)相乘,得到向量(2.48,0,1.86)。服务器通过特征提取模型,将向量(1.14,0.38,0.76)与向量(2.48,0,1.86)相加,得到词语“处理器”的特征向量(3.62,0.38,2.62)。
服务器通过特征提取模型,将“使用YY”的特征向量(3.7,0.3,-1.5)以及“处理器”的特征向量(3.62,0.38,2.62)相加,得到该知识文本“使用YY处理器”的特征向量(7.32,0.68,1.25)。
705、服务器基于知识融合向量获取目标文本对应的搜索文本。
在一种可能的实施方式中,响应于任一搜索文本的知识融合向量与第一关键词语的知识融合向量之间的相似度符合目标相似度条件,服务器将该搜索文本确定为与目标文本对应的搜索文本。
其中,相似度符合目标相似度条件是指,相似度大于或等于相似度阈值。
在这种实施方式下,服务器能够基于第一关键词语的知识融合向量和搜索文本的知识融合向量之间的相似度来确定与目标文本对应的搜索文本,搜索文本的确定效率较高。
以三个搜索文本为例,若第一关键词语的知识融合向量为(-3,-2.4,-6)T,三个搜索文本的知识融合向量分别为(-1,-3,-1)T、(-2,2,3)T以及(1,4,5)T,服务器分别确定第一关键词语的知识融合向量(-3,-2.4,-6)T,与三个搜索文本的知识融合向量分别为(-1,-3,-1)T、(-2,2,3)T以及(1,4,5)T之间的余弦相似度0.69、-0.58以及-0.93。若相似度阈值为0.6,那么服务器能够将知识融合向量(-1,-3,-1)T对应的搜索文本确定为目标文本对应的搜索文本。
下面对服务器获取搜索文本的知识融合向量的方法进行说明:
在一种可能的实施方式中,服务器对搜索文本的标题或简介中的至少一项进行分词语,得到搜索文本的多个参考词语。响应于搜索文本的多个参考词语中任一参考词语与知识文本库中的任一词语相同,服务器将任一参考词语确定为第二关键词语,知识文本库中存储有多个词语以及与多个词语对应的多个知识文本。服务器从知识文本库中获取第二关键词语对应的多个知识文本。服务器基于第二关键词语以及搜索文本中除第二关键词语以外的其他文本,获取第二关键词语的特征向量。服务器基于第二关键词语的特征向量与第二关键词语对应的多个知识文本的特征向量之间的相似度,将第二关键词语的特征向量与第二关键词语对应的多个知识文本的特征向量进行融合,得到搜索文本的知识融合向量。
需要说明的是,上述步骤701-705是以服务器为执行主体为例进行说明的,在其他可能的实施方式中,也能够由终端作为执行主体来执行上述步骤,本申请实施例对此不做限定。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
由于第一关键词语在不同文本中可能对应于不同的语义,通过本申请实施例提供的技术方案,在对第一关键词语进行特征提取的过程中,引入了知识文本,不同知识文本能够表示第一关键词语的不同语义。通过知识文本的特征向量与第一关键词语的特征向量之间的相关性,将知识文本的特征向量与第一关键词语的特征向量进行融合,也即是为第一关键词语的特征向量中携带的语义信息进行补充,使得知识融合向量能够更加准确的表示第一关键词语在目标文本中的语义,从而提高后续基于知识融合向量获取的搜索文本的准确性。
对本申请实施例提供的文本搜索方法进行介绍之后,下面对本申请实施例提供的特征提取模型的训练方法进行说明。
参见图11和图12,方法包括:
1101、服务器获取样本数据,样本数据包括样本文本、样本搜索文本以及样本文本与样本搜索文本之间的样本相似度。
在一些实施例中,服务器能够采用1和0来表示样本文本与样本搜索文本之间的样本相似度,其中,1表示样本文本与样本搜索文本相似度较高,也即是样本文本与样本搜索文本匹配,0表示样本文本与样本搜索文本相似度较低,也即是样本文本与样本搜索文本不匹配。对应于上述文本搜索方法,样本文本也即是进行文本搜索时的目标文本,样本搜索文本也即是基于目标文本进行搜索之后得到的搜索文本。
1102、服务器将样本文本和样本搜索文本输入到特征提取模型。
参见图12,也即是将样本文本Query和搜索文本Document输入特征提取模型1201。
1103、服务器通过特征提取模型提取样本文本中的样本关键词语的知识融合向量以及样本搜索文本的知识融合向量。
在一种可能的实施方式中,服务器通过特征提取模型,获取样本文本中的样本关键词语。服务器通过特征提取模型,获取样本搜索文本的搜索关键词语。服务器通过特征提取模型,获取样本关键词语的多个知识文本以及搜索关键词语的多个知识文本。服务器通过特征提取模型,获取样本关键词语的知识融合向量以及样本搜索文本的知识融合向量。
举例来说,参见图12,服务器通过特征提取模型的知识发现层1202(KnowledgeLookup Layer),从样本文本中获取样本关键词语,从知识文本库中获取样本关键词语对应的多个知识文本,提取样本关键词语的特征向量e1以及多个知识文本的特征向量k1-kn。服务器通过特征提取模型的知识发现层1202(Knowledge Lookup Layer),从样本搜索文本中获取搜索关键词语,从知识文本库中获取搜索关键词语对应的多个知识文本,提取搜索关键词语的特征向量e2以及多个知识文本的特征向量l1-ln。服务器将样本关键词语的特征向量e1以及多个知识文本的特征向量k1-kn输入特征提取模型的自注意力层1203,通过自注意力层1203将样本关键词语的特征向量e1以及多个知识文本的特征向量k1-kn进行融合,得到样本关键词语的融合向量。服务器搜索关键词语的特征向量e2以及多个知识文本的特征向量l1-ln输入特征提取模型的自注意力层1203,通过自注意力层1203将搜索关键词语的特征向量e2以及多个知识文本的特征向量l1-ln进行融合,得到搜索关键词语的融合向量。服务器将样本关键词语的融合向量和搜索关键词语的融合向量输入特征提取模型的多头注意力层1204,通过多头注意力层1204对样本关键词语的融合向量进行多头注意力编码,得到样本关键词语的融合向量对应的多个注意力编码向量;通过多头注意力层1204对搜索关键词语的融合向量进行多头注意力编码,得到搜索关键词语的融合向量对应的多个注意力编码向量。服务器将样本关键词语的融合向量对应的多个注意力编码向量输入特征提取模型的全连接层1205,通过全连接层1205对样本关键词语的融合向量对应的多个注意力编码向量进行全连接处理,得到样本关键词语的知识融合向量。服务器将搜索关键词语的融合向量对应的多个注意力编码向量输入特征提取模型的全连接层1205,通过全连接层1205对搜索关键词语的融合向量对应的多个注意力编码向量进行全连接处理,得到搜索关键词语的知识融合向量,基于搜索关键词语的知识向量,得到样本搜索文本的知识融合向量。
1104、服务器基于样本关键词语的知识融合向量和样本搜索文本的知识融合向量之间的相似度与样本相似度之间的差异信息,调整特征提取模型的模型参数。
举例来说,服务器能够构建如公式(4)所示的损失函数来对特征提取模型的模型参数进行调整。
其中,L为特征提取模型的损失函数。在一些实施例中,L也被称为对比损失函数(Contrastive Loss),T为样本文本的总数,y为样本文本与搜索文本之间的相似度,其中,1表示样本文本与样本搜索文本相似度较高,也即是样本文本与样本搜索文本匹配,0表示样本文本与样本搜索文本相似度较低,也即是样本文本与样本搜索文本不匹配,γ为超参数,表示样本文本和搜索文本的理想最大相似度,由技术人员根据实际情况进行设置,d表示样本关键词语的知识融合向量和样本搜索文本的知识融合向量之间的相似度。若采用Eqm表示样本关键词语的知识融合向量,采用Edm表示搜索关键词语的知识融合向量,那么其中,M为向量的维数,在一些实施例中,M=1。
由于第一关键词语在不同文本中可能对应于不同的语义,通过本申请实施例提供的技术方案,在对特征提取模型进行训练的过程中,引入了知识文本,不同知识文本能够表示第一关键词语的不同语义。通过知识文本来对样本关键词语的特征向量以及搜索关键词语中携带的语义进行补充,得到的两个知识融合向量能够更加完整的表示样本关键词语在样本文本中的语义以及搜索关键词语在搜索文本中的语义,从而提高特征提取模型的特征提取能力。
图13是本申请实施例提供的一种文本搜索装置结构示意图,参见图13,装置包括:知识文本获取模块1301、特征向量获取模块1302、特征向量融合模块1303以及文本获取模块1304。
知识文本获取模块1301,用于获取目标文本中的第一关键词语的多个知识文本,多个知识文本用于表示第一关键词语具有的不同语义。
特征向量获取模块1302,用于基于第一关键词语以及目标文本中除第一关键词语以外的其他文本,获取第一关键词语的特征向量。
特征向量融合模块1303,用于基于第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,将第一关键词语的特征向量与多个知识文本的特征向量进行融合,得到第一关键词语的知识融合向量。
文本获取模块1304,用于基于知识融合向量获取目标文本对应的搜索文本。
在一种可能的实施方式中,特征向量获取模块,用于将第一关键词语以及其他文本输入特征提取模型。通过特征提取模型,对第一关键词语以及其他文本进行注意力编码,得到第一关键词语的特征向量。
在一种可能的实施方式中,特征向量获取模块,用于获取第一关键词语的第一查询向量、第一键向量以及第一值向量。获取其他文本的第二键向量以及第二值向量。对第一查询向量与第一键向量的乘积以及第一查询向量与第二键向量的乘积进行归一化处理,得到第一关键词语的第一注意力权重以及其他文本对第一关键词语的第二注意力权重。将第一注意力权重与第一值向量的乘积与第二注意力权重与第二值向量的乘积相加,得到第一关键词语的特征向量。
在一种可能的实施方式中,特征向量融合模块,用于通过特征提取模型执行下述步骤:
基于第一关键词语的特征向量与多个知识文本的特征向量之间的相似度,确定第一关键词语的特征向量与多个知识文本的特征向量之间的多个第一关联权重,第一关联权重用于表示对应知识文本与第一关键词语的相关程度。
基于多个第一关联权重,将第一关键词语的特征向量与多个知识文本的特征向量进行融合,得到第一关键词语的知识融合向量。
在一种可能的实施方式中,特征向量融合模块,用于基于多个第一关联权重,将第一关键词语的特征向量与多个知识文本的特征向量进行加权求和,得到第一关键词语的融合向量。对融合向量进行多头注意力编码,得到第一关键词语的多个注意力编码向量。基于多个注意力编码向量,得到第一关键词语的知识融合向量。
在一种可能的实施方式中,特征向量融合模块,用于将多个注意力编码向量进行拼接,得到注意力编码矩阵。对注意力编码矩阵进行降维处理,得到第一关键词语的知识融合向量。
在一种可能的实施方式中,特征提取模型的训练装置包括:
样本数据获取模块,用于获取样本数据,样本数据包括样本文本、样本搜索文本以及样本文本与样本搜索文本之间的样本相似度。
第一输入模块,用于将样本文本和样本搜索文本输入到特征提取模型。
特征提取模块,用于通过特征提取模型提取样本文本中的样本关键词语的知识融合向量以及样本搜索文本的知识融合向量。
调整模块,用于基于样本关键词语的知识融合向量和样本搜索文本的知识融合向量之间的相似度与样本相似度之间的差异信息,调整特征提取模型的模型参数。
在一种可能的实施方式中,知识文本获取模块,用于在知识文本库中查询与第一关键词语相同的目标词语,知识文本库中存储有多个词语以及与每个词语对应的多个知识文本。将目标词语对应的多个知识文本获取为第一关键词语的多个知识文本。
在一种可能的实施方式中,第一关键词语的获取装置包括:
第一分词语模块,用于对目标文本进行分词语,得到目标文本的多个参考词语。
第一确定模块,用于响应于多个参考词语中任一参考词语与知识文本库中的任一词语相同,将任一参考词语确定为第一关键词语,知识文本库中存储有多个词语以及与每个词语对应的多个知识文本。
在一种可能的实施方式中,分词语模块,用于采用不同方式对目标文本进行分词语,得到不同方式分别对应的多个参考词语序列,每个参考词语序列包括目标文本中的多个参考词语,同一参考词语序列中不同参考词语的字符数量相同,且不同参考词语序列中的参考词语的字符数量不同。响应于属于不同参考词语序列的多个参考词语分别与知识文本库中的多个词语相同,将属于不同参考词语序列的多个参考词语中字符数量最多的参考词语获取为第一关键词语。
在一种可能的实施方式中,多个知识文本的特征向量的获取装置包括:
第二输入模块,用于对于任一知识文本,将任一知识文本输入特征提取模型。
编码模块,用于通过特征提取模型,对任一知识文本中的多个词语进行注意力编码,得到任一知识文本的特征向量。
在一种可能的实施方式中,编码模块,用于对于任一知识文本中的多个词语中的任一词语,获取任一词语的第三查询向量、第三键向量以及第三值向量。获取任一知识文本中的多个词语中除任一词语之外的其他词语的第四键向量以及第四值向量。对第三查询向量与第三键向量的乘积以及第三查询向量与第四键向量的乘积进行归一化处理,得到任一词语的第三注意力权重以及其他词语对任一词语的第四注意力权重。将第三注意力权重与第三值向量的乘积与第四注意力权重与第四值向量的乘积相加,得到任一词语的特征向量。将任一知识文本中的多个词语的特征向量进行融合,得到任一知识文本的特征向量。
在一种可能的实施方式中,文本获取模块,用于响应于任一搜索文本的知识融合向量与第一关键词语的知识融合向量之间的相似度符合目标相似度条件,将任一搜索文本确定为与目标文本对应的搜索文本。
在一种可能的实施方式中,搜索文本的知识融合向量的获取装置包括:
第二分词语模块,用于对搜索文本的标题或简介中的至少一项进行分词语,得到搜索文本的多个参考词语。
第二确定模块,用于响应于搜索文本的多个参考词语中任一参考词语与知识文本库中的任一词语相同,将任一参考词语确定为第二关键词语,知识文本库中存储有多个词语以及与多个词语对应的多个知识文本。
知识文本获取模块,还用于从知识文本库中获取第二关键词语对应的多个知识文本。
特征向量获取模块,还用于基于第二关键词语以及搜索文本中除第二关键词语以外的其他文本,获取第二关键词语的特征向量。
特征向量融合模块,还用于基于第二关键词语的特征向量与第二关键词语对应的多个知识文本的特征向量之间的相似度,将第二关键词语的特征向量与第二关键词语对应的多个知识文本的特征向量进行融合,得到搜索文本的知识融合向量。
由于第一关键词语在不同文本中可能对应于不同的语义,通过本申请实施例提供的技术方案,在对第一关键词语进行特征提取的过程中,引入了知识文本,不同知识文本能够表示第一关键词语的不同语义。通过知识文本的特征向量与第一关键词语的特征向量之间的相关性,将知识文本的特征向量与第一关键词语的特征向量进行融合,也即是为第一关键词语的特征向量中携带的语义信息进行补充,使得知识融合向量能够更加准确的表示第一关键词语在目标文本中的语义,从而提高后续基于知识融合向量获取的搜索文本的准确性。
本申请实施例提供了一种计算机设备,用于执行上述方法,该计算机设备可以实现为终端或者服务器,下面先对终端的结构进行介绍:
图14是本申请实施例提供的一种终端的结构示意图。该终端1400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
通常,终端1400包括有:一个或多个处理器1401和一个或多个存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1401所执行以实现本申请中方法实施例提供的文本搜索方法。
在一些实施例中,终端1400还可选包括有:***设备接口1403和至少一个***设备。处理器1401、存储器1402和***设备接口1403之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1403相连。具体地,***设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407、定位组件1408和电源1409中的至少一种。
***设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和***设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和***设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。
显示屏1405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。
定位组件1408用于定位终端1400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。
电源1409用于为终端1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。
陀螺仪传感器1412可以终端1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对终端1400的3D动作。
压力传感器1413可以设置在终端1400的侧边框和/或显示屏1405的下层。当压力传感器1413设置在终端1400的侧边框时,可以检测用户对终端1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在显示屏1405的下层时,由处理器1401根据用户对显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制显示屏1405的显示亮度。
接近传感器1416用于采集用户与终端1400的正面之间的距离。
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
上述计算机设备还可以实现为服务器,下面对服务器的结构进行介绍:
图15是本申请实施例提供的一种服务器的结构示意图,该服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1501和一个或多个的存储器1502,其中,所述一个或多个存储器1502中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器1501加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器1500还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1500还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由处理器执行以完成上述实施例中的文本搜索方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述文本搜索方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种文本搜索方法,其特征在于,所述方法包括:
获取目标文本中的第一关键词语的多个知识文本,所述多个知识文本用于表示所述第一关键词语具有的不同语义;
基于所述第一关键词语以及所述目标文本中除所述第一关键词语以外的其他文本,获取所述第一关键词语的特征向量;
基于所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的相似度,将所述第一关键词语的特征向量与所述多个知识文本的特征向量进行融合,得到所述第一关键词语的知识融合向量;
基于所述知识融合向量获取所述目标文本对应的搜索文本。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一关键词语以及所述目标文本中除所述第一关键词语以外的其他文本,获取所述第一关键词语的特征向量包括:
将所述第一关键词语以及所述其他文本输入特征提取模型;
通过所述特征提取模型,对所述第一关键词语以及所述其他文本进行注意力编码,得到所述第一关键词语的特征向量。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一关键词语以及所述其他文本进行注意力编码,得到所述第一关键词语的特征向量包括:
获取所述第一关键词语的第一查询向量、第一键向量以及第一值向量;
获取所述其他文本的第二键向量以及第二值向量;
对所述第一查询向量与所述第一键向量的乘积以及所述第一查询向量与所述第二键向量的乘积进行归一化处理,得到所述第一关键词语的第一注意力权重以及所述其他文本对所述第一关键词语的第二注意力权重;
将所述第一注意力权重与所述第一值向量的乘积与所述第二注意力权重与所述第二值向量的乘积相加,得到所述第一关键词语的特征向量。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的相似度,将所述第一关键词语的特征向量与所述多个知识文本的特征向量进行融合,得到所述第一关键词语的知识融合向量包括:
通过特征提取模型执行下述步骤:
基于所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的相似度,确定所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的多个第一关联权重,所述第一关联权重用于表示对应知识文本与所述第一关键词语的相关程度;
基于多个第一关联权重,将所述目标文本的特征向量与所述多个知识文本的特征向量进行融合,得到所述第一关键词语的知识融合向量。
5.根据权利要求4所述的方法,其特征在于,所述基于多个第一关联权重,将所述目标文本的特征向量与所述多个知识文本的特征向量进行融合,得到所述第一关键词语的知识融合向量包括:
基于多个第一关联权重,将所述目标文本的特征向量与所述多个知识文本的特征向量进行加权求和,得到所述第一关键词语的融合向量;
对所述融合向量进行多头注意力编码,得到所述第一关键词语的多个注意力编码向量;
基于所述多个注意力编码向量,得到所述第一关键词语的知识融合向量。
6.根据权利要求5所述的方法,其特征在于,所述基于所述多个注意力编码向量,得到所述第一关键词语的知识融合向量包括:
将所述多个注意力编码向量进行拼接,得到注意力编码矩阵;
对所述注意力编码矩阵进行降维处理,得到所述第一关键词语的知识融合向量。
7.根据权利要求5所述的方法,其特征在于,所述特征提取模型的训练方法包括:
获取样本数据,所述样本数据包括样本文本、样本搜索文本以及所述样本文本与所述样本搜索文本之间的样本相似度;
将所述样本文本和所述样本搜索文本输入到所述特征提取模型;
通过所述特征提取模型提取所述样本文本中的样本关键词语的知识融合向量以及所述样本搜索文本的知识融合向量;
基于所述样本关键词语的知识融合向量和所述样本搜索文本的知识融合向量之间的相似度与所述样本相似度之间的差异信息,调整所述特征提取模型的模型参数。
8.根据权利要求1所述的方法,其特征在于,所述获取目标文本中的第一关键词语的多个知识文本包括:
在知识文本库中查询与所述第一关键词语相同的目标词语,所述知识文本库中存储有多个词语以及与每个所述词语对应的多个知识文本;
将所述目标词语对应的多个知识文本获取为所述第一关键词语的多个知识文本。
9.根据权利要求1所述的方法,其特征在于,所述第一关键词语的获取方法包括:
对所述目标文本进行分词语,得到所述目标文本的多个参考词语;
响应于所述多个参考词语中任一参考词语与知识文本库中的任一词语相同,将所述任一参考词语确定为所述第一关键词语,所述知识文本库中存储有多个词语以及与每个所述词语对应的多个知识文本。
10.根据权利要求9所述的方法,其特征在于,所述对所述目标文本进行分词语,得到所述目标文本的多个参考词语包括:
采用不同方式对所述目标文本进行分词语,得到所述不同方式分别对应的多个参考词语序列,每个参考词语序列包括所述目标文本中的多个参考词语,同一参考词语序列中不同参考词语的字符数量相同,且不同参考词语序列中的参考词语的字符数量不同;
所述响应于所述多个参考词语中任一参考词语与知识文本库中的任一词语相同,将所述任一参考词语确定为所述第一关键词语包括:
响应于属于不同参考词语序列的多个参考词语分别与所述知识文本库中的多个词语相同,将所述属于不同参考词语序列的多个参考词语中字符数量最多的参考词语获取为所述第一关键词语。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述多个知识文本的特征向量的获取方法包括:
对于任一知识文本,将所述任一知识文本输入特征提取模型;
通过所述特征提取模型,对所述任一知识文本中的多个词语进行注意力编码,得到所述任一知识文本的特征向量。
12.根据权利要求11所述的方法,其特征在于,所述对所述任一知识文本中的多个词语进行注意力编码,得到所述任一知识文本的特征向量包括:
对于所述任一知识文本中的多个词语中的任一词语,获取所述任一词语的第三查询向量、第三键向量以及第三值向量;
获取所述任一知识文本中的多个词语中除所述任一词语之外的其他词语的第四键向量以及第四值向量;
对所述第三查询向量与所述第三键向量的乘积以及所述第三查询向量与所述第四键向量的乘积进行归一化处理,得到所述任一词语的第三注意力权重以及所述其他词语对所述任一词语的第四注意力权重;
将所述第三注意力权重与所述第三值向量的乘积与所述第四注意力权重与所述第四值向量的乘积相加,得到所述任一词语的特征向量;
将所述任一知识文本中的多个词语的特征向量进行融合,得到所述任一知识文本的特征向量。
13.一种文本搜索装置,其特征在于,所述装置包括:
知识文本获取模块,用于获取目标文本中的第一关键词语的多个知识文本,所述多个知识文本用于表示所述第一关键词语具有的不同语义;
特征向量获取模块,用于基于所述第一关键词语以及所述目标文本中除所述第一关键词语以外的其他文本,获取所述第一关键词语的特征向量;
特征向量融合模块,用于基于所述第一关键词语的特征向量与所述多个知识文本的特征向量之间的相似度,将所述第一关键词语的特征向量与所述多个知识文本的特征向量进行融合,得到所述第一关键词语的知识融合向量;
文本获取模块,用于基于所述知识融合向量获取所述目标文本对应的搜索文本。
14.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求12任一项所述的文本搜索方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至权利要求12任一项所述的文本搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110139356.3A CN113569002A (zh) | 2021-02-01 | 2021-02-01 | 文本搜索方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110139356.3A CN113569002A (zh) | 2021-02-01 | 2021-02-01 | 文本搜索方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113569002A true CN113569002A (zh) | 2021-10-29 |
Family
ID=78161095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110139356.3A Pending CN113569002A (zh) | 2021-02-01 | 2021-02-01 | 文本搜索方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569002A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048515A (zh) * | 2022-06-09 | 2022-09-13 | 广西力意智能科技有限公司 | 文档分类方法、装置、设备和存储介质 |
CN117611581A (zh) * | 2024-01-18 | 2024-02-27 | 之江实验室 | 一种基于多模态信息的舌象识别方法、装置及电子设备 |
-
2021
- 2021-02-01 CN CN202110139356.3A patent/CN113569002A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048515A (zh) * | 2022-06-09 | 2022-09-13 | 广西力意智能科技有限公司 | 文档分类方法、装置、设备和存储介质 |
CN117611581A (zh) * | 2024-01-18 | 2024-02-27 | 之江实验室 | 一种基于多模态信息的舌象识别方法、装置及电子设备 |
CN117611581B (zh) * | 2024-01-18 | 2024-05-14 | 之江实验室 | 一种基于多模态信息的舌象识别方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112347795B (zh) | 机器翻译质量评估方法、装置、设备及介质 | |
CN111985240B (zh) | 命名实体识别模型的训练方法、命名实体识别方法及装置 | |
CN111339246A (zh) | 查询语句模板的生成方法、装置、设备及介质 | |
CN113515942A (zh) | 文本处理方法、装置、计算机设备及存储介质 | |
CN111709398A (zh) | 一种图像识别的方法、图像识别模型的训练方法及装置 | |
CN112329826A (zh) | 图像识别模型的训练方法、图像识别方法和装置 | |
CN111339737B (zh) | 实体链接方法、装置、设备及存储介质 | |
WO2022161302A1 (zh) | 动作识别方法、装置、设备、存储介质及计算机程序产品 | |
CN116580257A (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN113392687A (zh) | 视频标题生成方法、装置、计算机设备及存储介质 | |
CN113569042A (zh) | 文本信息分类方法、装置、计算机设备及存储介质 | |
CN113569002A (zh) | 文本搜索方法、装置、设备以及存储介质 | |
CN112085120B (zh) | 多媒体数据的处理方法、装置、电子设备及存储介质 | |
CN111581958A (zh) | 对话状态确定方法、装置、计算机设备及存储介质 | |
CN114495916B (zh) | 背景音乐的***时间点确定方法、装置、设备和存储介质 | |
CN115131698A (zh) | 视频属性确定方法、装置、设备及存储介质 | |
CN114358109A (zh) | 特征提取模型训练、样本检索方法、装置和计算机设备 | |
CN117370529A (zh) | 品牌知识问答方法、装置、设备及可读存储介质 | |
CN114281936A (zh) | 分类方法、装置、计算机设备及存储介质 | |
CN117273019A (zh) | 对话模型的训练方法、对话生成方法、装置和设备 | |
CN117454954A (zh) | 模型训练方法、装置、计算机设备及存储介质 | |
CN113486260B (zh) | 互动信息的生成方法、装置、计算机设备及存储介质 | |
CN114281919A (zh) | 基于目录树的节点添加方法、装置、设备以及存储介质 | |
CN114510942A (zh) | 获取实体词的方法、模型的训练方法、装置及设备 | |
CN111597823B (zh) | 中心词提取方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40056466 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |