语音搜索方法、存储介质及服务器与流程

文档序号:29946687发布日期:2022-05-07 16:25阅读:144来源:国知局
语音搜索方法、存储介质及服务器与流程

1.本技术涉及语音交互技术领域,具体涉及一种语音搜索方法、存储介质及服务器。


背景技术:

2.随着互联网技术的快速发展,多媒体数据也呈巨量增长趋势,在面对海量多媒体数据时,用户的选择也越趋于丰富,但选择难度也相应增加,因此,有良好的搜索技术为用户推荐多媒体数据尤显重要。
3.目前,普遍使用推荐系统中基于多路召回的搜索技术进行多媒体数据推荐,通过对用户语音数据与海量多媒体数据同时进行数据处理并计算相似度,以根据相似度为用户在海量多媒体数据中推荐部分多媒体数据。
4.由于该搜索技术需要同时对用户语音数据和海量多媒体数据进行数据处理和相似度计算,当多媒体数据增多时,需要的计算量也会增大,进而造成搜索耗时较长。


技术实现要素:

5.本技术实施例提供一种语音搜索方法、存储介质及服务器,能够提高搜索效率。
6.第一方面,本技术实施例提供一种语音搜索方法,方法包括:
7.响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词;
8.获取第一搜索词的第一词向量;
9.计算预设多媒体词向量与第一词向量之间的相似度;根据相似度,从预设多媒体词向量中确定出目标多媒体词向量;
10.将目标多媒体词向量对应的待推荐多媒体数据,推送至用户终端。
11.第二方面,本技术实施例还提供一种语音搜索装置,包括:
12.语音接收模块,用于响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词;
13.信息搜索模块,用于获取第一搜索词的第一词向量;
14.相似度计算模块,用于计算预设多媒体词向量与第一词向量之间的相似度;
15.数据召回模块,用于根据相似度,从预设多媒体词向量中确定出目标多媒体词向量;
16.数据推送模块,用于将目标多媒体词向量对应的待推荐多媒体数据,推送至用户终端。
17.第三方面,本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如本技术任一实施例提供的语音搜索方法。
18.第四方面,本技术实施例还提供一种服务器,包括处理器和存储器,存储器有计算机程序,处理器通过调用计算机程序,用于执行如本技术任一实施例提供的语音搜索方法。
19.本技术实施例提供的技术方案,通过获取语音搜索指令的第一搜索词,并根据第
一搜索词获取第一词向量,之后将第一词向量与预设多媒体词向量进行相似度计算,以根据相似度从预设多媒体词向量中确定出目标多媒体词向量,并将目标多媒体词向量对应的待推荐多媒体数据推送给用户。其中,预设多媒体词向量通过预先对多媒体数据进行离线的向量计算得到,从而避免了需要同时对第一搜索词和海量多媒体数据进行在线的向量计算,极大地缩减了需要对第一搜索词和海量多媒体数据进行在线计算向量时的计算量,也同样缩短了根据第一搜索词搜索待推荐多媒体数据的搜索时长,以此提高了语音搜索效率。
附图说明
20.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本技术实施例提供的语音搜索方法的流程示意图。
22.图2为本技术实施例提供的文本编码器的结构示意图。
23.图3为本技术实施例提供的文本编码器的训练方法的流程示意图。
24.图4为本技术实施例提供的文本编码器的训练过程的示意图。
25.图5为本技术实施例提供的文本编码器的应用场景示意图。
26.图6为本技术实施例提供的搜索网络在执行语音搜索方法时的流程示意图。
27.图7为本技术实施例提供的语音搜索装置的结构示意图。
28.图8为本技术实施例提供的服务器的结构示意图。
具体实施方式
29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本技术的保护范围。
30.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
31.通常使用推荐系统中基于多路召回的搜索技术进行多媒体数据推荐,即采用不同方式从海量多媒体数据中分别召回部分多媒体数据,然后将召回的多媒体数据推送给用户终端,在召回阶段,是对搜索词和多媒体数据同时进行向量转换,并计算两者之间的相似度,当多媒体数据数量较多时,此种方式会造成计算量过大,占用较多的计算资源,并不利于提高多媒体数据的召回效率。
32.基于此,本技术实施例提供一种语音搜索方法,该语音搜索方法的执行主体可以是本技术实施例提供的语音搜索装置,或者集成了该语音搜索装置的服务器。其中,该语音搜索装置可以采用硬件或者软件的方式实现,服务器可以接收从智能手机、平板电脑、掌上电脑、智能屏、电视机、机器人等用户终端发送的语音搜索指令。
33.在本技术方案中,是预先对多媒体数据进行了离线计算,得到多媒体数据的预设多媒体词向量,在需要将多媒体数据与搜索词进行相似度计算时,可直接获取预设多媒体词向量,并计算预设多媒体词向量与搜索词的词向量之间的相似度,从而避免了需要对多媒体数据和搜索词在线计算词向量,减小了计算量,从而提高了搜索效率。
34.请参阅图1,图1为本技术实施例提供的语音搜索方法的流程示意图。本技术实施例提供的语音搜索方法的具体流程可以如下:
35.101、响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词。
36.当用户终端接收到语音搜索指令后,用户终端将语音搜索指令发送至服务器,服务器响应于用户终端发送的语音搜索指令,根据语音搜索指令得到第一搜索词。
37.其中,语音搜索指令指的是用户终端接收到的用户语音搜索话术,比如,用户终端接收到的“我想看女扮男装的电视剧”等语音表述。
38.当服务器接收到语音搜索指令之后,则对语音搜索指令进行语音转文字处理,进而得到语音搜索指令对应的文本信息,当获取搜索词时,是从转换得到的文本信息中提取关键词。比如,从“我想看女扮男装的电视剧”的文本信息中提取搜索词“男扮女装”等。
39.102、获取第一搜索词的第一词向量。
40.当得到第一搜索词之后,可根据第一搜索词得到第一词向量,其中,得到第一词向量的方式有两种,一种为在线计算的方式,另一种为离线匹配的方式。
41.其中,在线计算的方式为:直接对第一搜索词进行向量转换处理,得到第一词向量;
42.离线匹配的方式为:预先对多个搜索词进行离线计算得到离线的预设词向量,并存储离线计算得到的预设词向量,当根据语音搜索指令得到第一搜索词之后,则从离线计算得到的预设词向量中匹配第一搜索词的第一词向量。
43.在一些实施例中,获取第一搜索词的第一词向量,包括:
44.基于预设搜索词与预设词向量之间的关联关系,从词向量数据库中获取与第一搜索词关联的第一词向量。
45.其中,将预先通过离线计算得到的预设词向量存储在词向量数据库中,当需要从词向量数据库中匹配第一搜索词的词向量时,可先根据预设搜索词与预设词向量之间的关联关系,从词向量数据库中匹配第一搜索词的第一词向量,当匹配到第一词向量时,直接将第一词向量与预设多媒体词向量进行相似度计算。
46.而当从词向量数据库中匹配不到第一搜索词的第一词向量时,则需要对第一搜索词进行在线计算,以得到第一词向量。
47.103、计算预设多媒体词向量与第一词向量之间的相似度,并根据相似度从预设多媒体词向量中确定出目标多媒体词向量。
48.其中,计算预设多媒体词向量与第一词向量之间的相似度,是通过计算两个词向量之间的距离以表示相似度,当两者之间的距离越大时,则相似度越低,当两者之间的距离越小时,则相似度越高。
49.示例性地,根据相似度从预设多媒体词向量中确定目标多媒体词向量的方式可包括:
50.直接按照相似度降序序列,将序列中相似度较高的多个预设多媒体词向量作为目
标多媒体词向量。
51.或者,将相似度大于预设阈值的多个预设多媒体词向量作为目标多媒体词向量。
52.由于从预设多媒体词向量中选取出目标多媒体词向量的方式有多种,此处不再逐一列举。
53.此种通过计算向量之间相似度确定目标多媒体词向量的方式,相较于传统的通过关键词搜索多媒体数据的方式而言,能够避免关键词相同而语义不同或者语义相同但关键词不同的搜索弊端,提高了搜索结果的准确性。比如,通过传统搜索关键词的方式搜索“女扮男装”,但结果可能是“女神新装”,与用户想要搜索的“花木兰”存在较大的差异,可见,传统通过关键词搜索的方式并不利于提高搜索准确性。
54.104、将目标多媒体词向量对应的待推荐多媒体数据,推送至用户终端。
55.当得到目标多媒体词向量之后,可根据目标多媒体词向量从预设多媒体数据中得到待推荐多媒体数据,并将待推荐多媒体数据推送至用户终端。当用户终端接收到待推荐多媒体数据之后,则在用户终端的应用界面上显示待推荐多媒体数据的信息,以使得用户能够浏览推荐的信息,从而减小了用户在海量多媒体数据中选择需要的多媒体数据的难度。
56.其中,在将待推荐多媒体数据推送至用户终端时,可直接将待推荐多媒体数据以随机顺序推送至用户终端,也可对待推荐多媒体数据进行排序后再推送至用户终端。其中,对待推荐多媒体数据进行排序的方式可参照用户喜好、多媒体数据的热度、多媒体数据与第一搜索词之间的相似度等,由于排序的方式有多种,此处不再列举,只要能够实现对待推荐多媒体数据进行处理后推送至用户终端即可。
57.具体实施时,本技术不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。
58.本技术实施例中的语音搜索方法,通过预先对多媒体数据进行离线计算,得到预设多媒体词向量,当需要将多媒体数据与搜索词进行相似度计算时,可通过获取多媒体数据的预设多媒体词向量,并将预设多媒体词向量与搜索词的第一词向量进行相似度计算,进而根据相似度从预设多媒体词向量中确定出目标多媒体词向量,以将目标多媒体词向量对应的待推荐多媒体数据推送至用户终端。一方面,通过离线计算多媒体数据的预设多媒体词向量,能够减小在线计算多媒体数据与搜索词之间相似度的数据量,从而缩减了语音搜索耗用时长,提高了搜索效率。另一方面,通过计算预设多媒体词向量与第一词向量之间相似度的方式,能够基于语义之间的相似性搜索待推荐多媒体数据,提高了搜索准确度。
59.为提高语音搜索性能,常结合搜索模型进行智能搜索,提高搜索效率。常用的语言模型包括bert(全称为bidirectionalencoderrepresentationfromtransformer,是以无监督的方式利用大量无标注文本进行训练得到的语言模型)。但bert模型通常被设计为u型结构,在进行相似度计算时,是需要将两个进行相似度计算的文本同时输入模型中进行计算,如本技术实施例的方案,则需要将搜索词和一个多媒体数据同时输入模型中进行相似度计算,当多媒体数据数量较多时,逐一进行相似度计算的方式显然存在计算量大的弊端,为解决此技术问题,本技术实施例还提供了一种文本编码器,能够单独对文本数据进行向量转换。也提供一种对文本编码器的训练方法,以及文本编码器训练完成后的应用方法。以下逐一进行介绍:
60.或者,在其他实施例中,还提供了一种文本编码器,其中,该文本编码器包括编码模块。请参阅图2,图2为本技术实施例提供的文本编码器的结构示意图。其中,编码模块用于将输入的文本数据转化为向量。当输入的是多媒体数据时,可直接将多媒体数据转换为多媒体词向量,当输入的是搜索词时,可直接将搜索词转换为搜索词对应的词向量。
61.其中,编码模块被设计为分离结构,能够对输入的文本数据逐一进行向量转换。
62.示例性地,文本编码器还包括相似度计算模块,其中,相似度计算模块用于减小模型训练时得到的预测结果与实际结果之间的损失值,并根据损失值优化模型参数,以提高文本编码器将文本数据转换为向量时的准确度。
63.如图3所示和图4所示,图3为本技术实施例提供的文本编码器的训练方法的流程示意图,图4为本技术实施例提供的文本编码器的训练过程的示意图。如下:
64.201、从训练集中获取第一文本数据和第二文本数据,以及第一文本数据对应的第一文本向量,第二文本数据对应的第二文本向量。
65.其中,训练集中包括第一文本数据和第二文本数据,第一文本数据对应有第一文本向量,第二文本数据对应有第二文本向量。
66.第一文本数据和第二文本数据共享相同的结构和参数,在将第一文本数据和第二文本数据输入文本编码器之前,先使用其它的向量计算方式将第一文本数据转换为第一文本向量,将第二文本数据转换为第二文本向量。
67.而第一文本数据和第二文本数据可为文本语句,比如句子对中的两个句子“见义勇为”和“路见不平,拔刀相助”。
68.202、将第一文本数据输入文本编码器,得到第一文本数据的第一预测向量,并将第二文本数据输入文本编码器,得到第二文本数据的第二预测向量。
69.通过将第一文本数据和第二文本数据分别输入文本编码器中进行向量转换,其中,通过文本编码器对第一文本数据转换得到第一预测向量,通过文本编码器对第二文本数据转换得到第二预测向量。
70.其中,还使用l2范数对第一预测向量和第二预测向量分别进行正则化处理,防止模型在训练的过程中过拟合,提高模型的泛化能力。
71.203、根据相似度计算模块,计算第一预测向量和第二预测向量之间的预测相似度,以及计算第一文本向量和第二文本向量之间的实际相似度。
72.将经过编码模块得到的第一文本向量和第二文本向量传输至相似度计算模块进行相似度计算,得到预测相似度。
73.其中,相似度计算模块可采用计算余弦相似度的方式计算第一预测向量和第二预测向量之间的预测相似度。在计算第一文本向量与第二文本向量之间的实际相似度时,也可采用余弦相似度计算方式,或可采用其它计算方式。
74.204、基于预测相似度和实际相似度之间的损失值,按照梯度下降算法调整文本编码器的模型参数,直至模型收敛。
75.其中,使用均方误差计算预测相似度和实际相似度之间损失值,之后通过优化器求解最小损失,以最小损失反向传播不断调整模型参数,直至模型收敛。其中,优化器可采用adam optimizer(自适应矩估计优化器,是一个寻找全局最优点的优化算法,引入了二次梯度校正),在进行模型参数调整时,可采用梯度下降算法进行模型参数调整。
76.当训练完成之后,还可将模型保存为pb文件。pb指protocol(协议)buffer (缓冲)的缩写,是一种表示模型(神经网络)结构的二进制文件,不带有源代码,也一般无法映射成源代码。
77.如图5所示,图5为本技术实施例提供的文本编码器的应用场景示意图,比如,构建了一个搜索网络,其中,搜索网络中包括词向量数据库以及文本编码器,其中,文本编码器既用于在线的向量计算,又用于离线的向量计算,比如,可通过在线计算第一搜索词的第一词向量,或者,离线计算预设搜索词的预设词向量,以及离线计算多媒体数据的预设多媒体词向量,其中,离线计算得到的预设词向量以及预设多媒体词向量均存储在词向量数据库中,当需要使用时,则从词向量数据库中调用离线计算得到的预设词向量或预设多媒体词向量。
78.请参阅图6,图6为本技术实施例提供的搜索网络在执行语音搜索方法时的流程示意图,如下:
79.301、响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词。
80.302、基于预设搜索词与预设词向量之间的关联关系,从词向量数据库中获取与第一搜索词关联的第一词向量。
81.303、判断词向量数据库中是否存在第一词向量;
82.若词向量数据库中存在第一词向量,则执行步骤305;
83.搜索网络根据语音搜索指令获取到第一搜索词之后,则根据预设搜索词与预设词向量之间的关联关系,先从词向数据库中查询第一搜索词关联的第一词向量,当从词向数据库中查询到第一词向量后,则直接将离线得到的第一词向量与离线得到的预设多媒体词向量进行相似度计算,其中,预设多媒体词向量也是从词向量数据库中调用的。
84.若词向量数据库中不存在第一词向量,则执行步骤304、根据文本编码器对第一搜索词进行编码处理,得到第一词向量。
85.当词向量数据库中不存在第一词向量时,则将第一搜索词输入训练得到的文本编码器中,进而通过文本编码器的在线向量转换,得到第一搜索词的第一词向。之后再从词向量数据库中获取预设多媒体词向量,以对预设多媒体词向量和第一词向量进行相似度计算。
86.在步骤304之后,则执行步骤305;
87.305、计算预设多媒体词向量与第一词向量之间的相似度,并根据相似度从预设多媒体词向量中确定出目标多媒体词向量。
88.还可采用knn算法(全称,k-nearest neighbor,即k最邻近法)对预设多媒体词向量和第一词向量进行相似度计算,并返回k个相似度最高的目标多媒体词向量。其中,k可由本领域技术人员根据实际需求设定,以设定返回的目标多媒体词向量的数量。
89.当然地,对于返回的目标多媒体词向量的数量,还可根据预设多媒体词向量的数量,按照一定比例返回对应的数量。比如,预设多媒体词向量有100个,则设定返回比例为10:1,从预设多媒体词向量中返回相似度最高的10个目标多媒体词向量。
90.306、将目标多媒体词向量对应的待推荐多媒体数据,推送至用户终端。
91.在一些实施例中,响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词之前,还包括:
92.获取用户终端在历史时间区间内的第二搜索词;
93.根据文本编码器对第二搜索词进行编码处理,得到第二搜索词的第二词向量;
94.基于第二搜索词与第二词向量之间的关联关系更新词向量数据库。
95.本实施例中,通过从用户终端导出用户日志中的第二搜索词,并通过文本编码器预先对第二搜索词进行向量转换处理,得到第二搜索词的第二词向量,并将第二词向量存储至词向量数据库中,以便于搜索网络接收到语音搜索指令时,先根据语音搜索指令对应的第一搜索词从词向数据库中搜索对应的第一词向量,避免了需要对第一搜索词进行在线计算向量。
96.可以理解地,此处从用户终端获取第二搜索词的方式,也可扩展为从服务器的搜索引擎上获取多个用户终端生成的搜索词的方式,以提高搜索词的覆盖范围,使得从词向量数据库中搜索第一搜索词的第一词向量时,能够更为容易地搜索到第一词向量。
97.示例性地,可周期性地使用文本编码器对第二搜索词进行离线计算,得到离线的第二词向量,以更新词向量数据库。其中,更新词向数据库时,可直接将最新的第二词向量加入词向量数据库中,或者以最新的第二词向量替换不频繁使用的第二词向量,又或者,以最新的第二词向量直接替换词向量数据库中先前存在的所有第二词向量,实现周期性地更新词向量数据库。
98.其中,对于更新词向量数据库的周期,可选择按小时更新、按天更新或按月更新,此处并不进行限制,只要能够实现较为容易地从预设词向量数据库中得到第一搜索词的第一词向量即可。
99.在一些实施例中,对用户终端的第二搜索词还进行了筛选处理后再离线计算第二词向量,即根据文本编码器对第二搜索词进行编码处理,得到第二搜索词的第二词向量,包括:
100.确定第二搜索词的搜索频次;
101.从第二搜索词中,筛选出搜索频次大于预设频次的目标搜索词;
102.根据文本编码器对目标搜索词进行编码处理,得到目标搜索词的第二词向量。
103.其中,在通过文本编码器对第二搜索词进行离线计算第二词向量之前,先对第二搜索词进行筛选,以滤除无效的第二搜索词,较少了离线计算第二词向量时的计算量,提高了搜索效率,且较大程度地保障了能够从词向量数据库中搜索得到第一搜索词的第一词向量。
104.比如,通过文本编码器对搜索频次较高的第二搜索词进行离线计算得到第二词向量。其中,在通过搜索频次从第二搜索词中筛选目标搜索词时,可设置一个预设频次,从而滤除搜索频次不大于预设频次的第二搜索词。
105.再比如,还可根据第二搜索词的语义完整性对第二搜索词进行滤除,通过仅保留语义完整的第二搜索词,将具有完整语义的第二搜索词输出文本编码器中,得到第二搜索词的第二词向量。
106.在一些实施例中,词向量数据库中还包括预设多媒体词向量。计算预设多媒体词向量与第一词向量之间的相似度之前,还包括:
107.获取多媒体列表,并从多媒体列表中确定出预设多媒体关键词;
108.根据文本编码器对预设多媒体关键词进行编码处理,得到预设多媒体关键词的预
设多媒体词向量;
109.基于预设多媒体关键词与预设多媒体词向量之间的关联关系更新词向量数据库。
110.其中,获取多媒体列表,即获取当前系统中存在的多媒体数据,比如,获取视频播放器中的影视节目,获取音乐类软件列表中的歌曲等。当得到多媒体数据后即可确定多媒体关键词,其中,多媒体关键词可为多媒体数据摘要中的关键词,也可为多媒体数据标题中的关键词,具体的采用方式此处并不进行限定。
111.当然地,也可从kafka集群中导出多媒体数据,其中,kafka集群作为消息系统使用,是一个分布式消息队列,实现多终端之间的信息交互。通过kafka 集群中导出多媒体数据,能够保证多媒体数据的多样化,以提高对用户终端进行推荐的多媒体数据的类别。
112.示例性地,还可周期性地更新词向量数据库中的预设多媒体词向量。比如,周期性地获取媒体列表,并确定最新的多媒体关键词,并以文本编码器对最新的媒体关键词进行编码处理,得到最新的多媒体词向量,并以最新的多媒体词向量更新词向量数据库。
113.其中,更新词向量数据库的方式可参照上述以预设词向量更新词向量数据库,此处不再赘述。需要说明的是,在将预设词向量和预设多媒体词向量存储在词向量数据库中时,可对两者进行分开存储,或者以文件命名对两者进行区别标识。
114.而对于更新预设多媒体词向量的周期,可设定为一个月,或者半年等,此处并不进行限定,只要能够保证预设多媒体词向量的更新周期与上线的多媒体数据同步或相近即可,以此保证为用户及时推荐新上线的多媒体数据。
115.在一些实施例中,由于多媒体数据是随时间增多的,还可通过多媒体数据周期性地更新文本编码器,以使得文本编码器的性能迭代更新,提高文本编码器向量转换准确性。
116.为提高对待推荐多媒体数据的搜索效率,还在搜索词的基础上增加多媒体类型以对召回的多媒体数据进行筛选。因此,在一些实施例中,响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词,包括:
117.响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词和多媒体类型;
118.计算预设多媒体词向量与第一词向量之间的相似度,并根据相似度从预设多媒体词向量中确定出目标多媒体词向量,包括:
119.从预设多媒体词向量中确定出与多媒体类型匹配的候选多媒体词向量;
120.计算候选多媒体词向量与第一词向量之间的相似度;
121.从候选多媒体词向量中确定出相似度大于预设阈值的目标多媒体词向量。
122.通过以搜索词对应的多媒体类型先对预设多媒体词向量进行初步筛选,得到候选多媒体词向量,再将候选多媒体词向量与第一词向量计算相似度,以极大地减小了在进行相似度计算时所需要的数据量,从而提高了计算效率。
123.其中,以多媒体类型对预设多媒体词向量进行初步筛选,是先从预设多媒体数据中选择和多媒体类型匹配的候选多媒体数据,然后将候选多媒体数据对应的候选多媒体词向量与第一词向量计算相似度。比如,以上述实施例提供的“我想看女扮男装的电视剧”的文本信息为例,从“我想看女扮男装的电视剧”的文本信息中提取第一搜索词“男扮女装”,提取多媒体类型“电视剧”等。
124.又比如,对于语音搜索指令,则有一个语句“我要看关于狗的动画片”,而从该搜索
语句中提取出第一搜索词为“狗”,提取出的多媒体类型为“动画片”,则从词向量数据库中选择关于“动画片”的候选多媒体词向量,以在后续过程中与“狗”对应的第一词向量进行相似度计算。
125.在结合多媒体类型和第一搜索词得到待推荐多媒体数据时,则要求用户终端输入的语音信息中存在多媒体类型,以此,能够实现服务器根据接收到的用户终端的语音搜索指令,从用户终端得到第一搜索词和多媒体类型。
126.由上可知,本发明实施例提出的语音搜索方法,能够通过使用文本编码器离线计算预设搜索词的预设词向量,以及离线计算预设多媒体数据的预设多媒体词向量,并将预设词向量和预设多媒体词向量存储至词向量数据库中,当需要使用时,可直接从词向量数据库中调用。此种方式能够避免了在线计算词向量时存在计算量大的弊端,从而极大地减小了计算量。再者,本技术提供的方案还能够周期性地获取新的预设搜索词,以及新的预设多媒体数据,以对词向量数据库进行更新,从而完善词向量数据库,保证搜索结果的多样化和准确性。另一方面,当根据第一搜索词从词向量数据库中查询第一词向量时,还可根据文本编码器对第一搜索词进行在线的向量转换,实时得到第一词向量,从而保证搜索过程不中断,利于提高语音搜索的有效性。
127.在一实施例中还提供一种语音搜索装置400。请参阅图7,图7为本技术实施例提供的语音搜索装置400的结构示意图。其中该语音搜索装置400应用于服务器,该语音搜索装置400包括:
128.语音接收模块401,用于响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词;
129.信息搜索模块402,用于获取第一搜索词的第一词向量;
130.数据计算模块403,用于计算预设多媒体词向量与第一词向量之间的相似度;
131.数据召回模块404,用于根据相似度,从预设多媒体词向量中确定出目标多媒体词向量;
132.数据推送模块405,用于将目标多媒体词向量对应的待推荐多媒体数据,推送至用户终端。
133.在一些实施例中,信息搜索模块402还用于:
134.基于预设搜索词与预设词向量之间的关联关系,从词向量数据库中获取与第一搜索词关联的第一词向量。
135.在一些实施例中,语音搜索装置400还包括编码模块406:
136.编码模块406用于:若词向量数据库中不存在第一词向量,则根据文本编码器对第一搜索词进行编码处理,得到第一词向量。
137.在一些实施例中,编码模块406还用于:
138.获取用户终端在历史时间区间内的第二搜索词;
139.根据文本编码器对第二搜索词进行编码处理,得到第二搜索词的第二词向量;
140.基于第二搜索词与第二词向量之间的关联关系更新词向量数据库。
141.在一些实施例中,编码模块406还用于:
142.获取多媒体列表,并从多媒体列表中确定出预设多媒体关键词;
143.根据文本编码器对预设多媒体关键词进行编码处理,得到预设多媒体关键词的预
设多媒体词向量;
144.基于预设多媒体关键词与预设多媒体词向量之间的关联关系更新词向量数据库。
145.在一些实施例中,编码模块406还用于:
146.确定第二搜索词的搜索频次;
147.从第二搜索词中,筛选出搜索频次大于预设频次的目标搜索词;
148.根据文本编码器对目标搜索词进行编码处理,得到目标搜索词的第二词向量。
149.在一些实施例中,语音接收模块401还用于:响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词和多媒体类型;
150.信息搜索模块402还用于:从预设多媒体词向量中确定出与多媒体类型匹配的候选多媒体词向量;
151.数据计算模块403还用于:计算候选多媒体词向量与第一词向量之间的相似度;
152.数据召回模块404还用于:从候选多媒体词向量中确定出相似度大于预设阈值的目标多媒体词向量。
153.应当说明的是,本技术实施例提供的语音搜索装置400与上文实施例中的语音搜索方法属于同一构思,通过该语音搜索装置400可以实现语音搜索方法实施例中提供的任一方法,其具体实现过程详见语音搜索方法实施例,此处不再赘述。
154.由上可知,本技术实施例提出的语音搜索装置400,能够通过使用文本编码器离线计算预设搜索词的预设词向量,以及离线计算预设多媒体数据的预设多媒体词向量,并将预设词向量和预设多媒体词向量存储至词向量数据库中,当需要使用时,可直接从词向量数据库中调用。此种方式能够避免了在线计算词向量时存在计算量大的弊端,从而极大地减小了计算量。再者,本技术提供的方案还能够周期性地获取新的预设搜索词,以及新的预设多媒体数据,以对词向量数据库进行更新,从而完善词向量数据库,保证搜索结果的多样化和准确性。另一方面,当根据第一搜索词从词向量数据库中查询第一词向量时,还可根据文本编码器对第一搜索词进行在线的向量转换,实时得到第一词向量,从而保证搜索过程不中断,利于提高语音搜索的有效性。
155.本技术实施例还提供一种服务器,服务器可以接收从智能手机、平板电脑、掌上电脑、智能屏、电视机、机器人等用户终端发送的语音搜索指令。如图8 所示,图8为本技术实施例提供的服务器的结构示意图。该服务器500包括有一个或者一个以上处理核心的处理器501、有一个或一个以上计算机可读存储介质的存储器502及存储在存储器502上并可在处理器上运行的计算机程序。其中,处理器501与存储器502电性连接。本领域技术人员可以理解,图中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
156.处理器501是服务器500的控制中心,利用各种接口和线路连接整个服务器500的各个部分,通过运行或加载存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器500的各种功能和处理数据,从而对服务器500进行整体监控。
157.在本技术实施例中,服务器500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器 501来运行存储在存储器502中的应用程序,从而实现各种功能:
158.响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词;
159.获取第一搜索词的第一词向量;
160.计算预设多媒体词向量与第一词向量之间的相似度,并根据相似度从预设多媒体词向量中确定出目标多媒体词向量;
161.将目标多媒体词向量对应的待推荐多媒体数据,推送至用户终端。
162.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
163.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
164.由上可知,本实施例提供的服务器,能够通过使用文本编码器离线计算预设搜索词的预设词向量,以及离线计算预设多媒体数据的预设多媒体词向量,并将预设词向量和预设多媒体词向量存储至词向量数据库中,当需要使用时,可直接从词向量数据库中调用。此种方式能够避免了在线计算词向量时存在计算量大的弊端,从而极大地减小了计算量。再者,本技术提供的方案还能够周期性地获取新的预设搜索词,以及新的预设多媒体数据,以对词向量数据库进行更新,从而完善词向量数据库,保证搜索结果的多样化和准确性。另一方面,当根据第一搜索词从词向量数据库中查询第一词向量时,还可根据文本编码器对第一搜索词进行在线的向量转换,实时得到第一词向量,从而保证搜索过程不中断,利于提高语音搜索的有效性。
165.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
166.为此,本技术实施例提供一种计算机可读存储介质,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:
167.响应于用户终端发送的语音搜索指令,根据语音搜索指令获取第一搜索词;
168.获取第一搜索词的第一词向量;
169.计算预设多媒体词向量与第一词向量之间的相似度,并根据相似度从预设多媒体词向量中确定出目标多媒体词向量;
170.将目标多媒体词向量对应的待推荐多媒体数据,推送至用户终端。
171.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
172.上述的存储介质可以为rom/ram、磁碟、光盘等。由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种语音搜索方法中的步骤,因此,可以实现本技术实施例所提供的任一种语音搜索方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
173.以上对本技术实施例所提供的一种语音搜索方法、装置、介质及服务器进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1