掌桥专利:专业的专利平台
掌桥专利
首页

搜索对象推荐方法、电子设备及计算机可读存储介质

文献发布时间:2024-04-18 19:58:21


搜索对象推荐方法、电子设备及计算机可读存储介质

技术领域

本申请涉及信息处理领域,尤其涉及一种搜索对象推荐方法、电子设备及计算机可读存储介质。

背景技术

电子设备在检测到用户输入搜索词时,根据搜索词为用户推荐搜索对象,从而减少用户输入。现有技术中,电子设备一般根据搜索词的语义和语法确定搜索对象,需要用户输入较多字符才可以确定用户的搜索意图。在用户输入较少字符时无法确定用户的搜索意图,为用户推荐较多不相关搜索对象或者不能为用户推荐搜索对象,即在用户输入较少字符的情况下不能为用户推荐有效的搜索对象,从而降低了搜索效率。

发明内容

本申请提供一种搜索对象推荐方法、电子设备及计算机可读存储介质,解决了现有技术中在用户输入较少字符时不能为用户推荐有效的搜索对象的问题。

为达到上述目的,本申请采用如下技术方案:

第一方面,提供一种搜索对象推荐方法,包括:获取搜索词;根据二部图确定所述搜索词与候选词的第一相似度,所述二部图根据历史搜索行为生成,所述二部图包括第一集合、第二集合以及边,所述第一集合包括所述候选词,所述第二集合包括搜索对象,所述边的值表示相互关联的所述候选词与所述搜索对象之间的关联程度,所述历史搜索行为中的同一搜索行为的所述候选词均与点击行为对应的所述搜索对象相互关联,同一搜索行为的所述候选词表示从检测到输入行为到检测到所述点击行为之间所检测到的所有候选词;根据所述第一相似度从所述候选词中确定所述搜索词的联想词;根据所述联想词推荐目标搜索对象。

上述实施例中,二部图中同一搜索行为的候选词包括字符从少到多的候选词,由于二部图中同一搜索行为的候选词均与点击行为对应的搜索对象相互关联,因此,根据二部图确定搜索词与候选词的第一相似度,可以快速确定与较少字符的搜索词相似的较多字符的联想词,再根据联想词推荐目标对象,可以在用户输入较少字符的情况下识别用户的搜索意图,为用户推荐有效的搜索对象,进而提高搜索效率。

在一实施例中,所述边的值根据所述候选词的点击次数确定,所述候选词的点击次数表示根据所述候选词点击对应的所述搜索对象的次数。根据候选词点击对应的搜索对象是指用户在输入候选词后直接点击搜索对象。根据候选词的点击次数确定边的值,可以提高候选词与搜索对象的相关性,进而提高二部图中的边的值与用户的搜索行为的相关性。

在一实施例中,所述根据二部图确定所述搜索词与候选词的第一相似度,包括:

根据所述搜索词对应的所有边的值、所述候选词对应的所有边的值,以及第二相似度确定所述搜索词与候选词的第一相似度,所述第二相似度为所述搜索词关联的搜索对象与所述候选词关联的搜索对象之间的相似度。在计算搜索词和候选词的相似度时考虑与搜索词和候选词关联的搜索对象的第二相似度,可以更好地评估搜索词和候选词的第一相似度,提高第一相似度与搜索词、候选词的相关性。

在一实施例中,所述第二相似度由所述第一相似度确定,所述根据所述搜索词对应的所有边的值、所述候选词对应的所有边的值,以及第二相似度确定所述搜索词与候选词的第一相似度,包括:根据所述搜索词对应的所有边的值、所述候选词对应的所有边的值、所述第二相似度,以及预设迭代公式进行迭代运算,得到所述搜索词与候选词的第一相似度。通过结合候选词的所有边、搜索词的所有边并进行迭代运算,得到第一相似度,可以将间接关系的搜索词和候选词建立联系,提高得到的联想词与搜索词的相关性。

在一实施例中,在所述根据所述搜索词对应的所有边的值、所述候选词对应的所有边的值、所述第二相似度,以及预设迭代公式进行迭代运算之前,所述方法还包括:根据所述搜索词关联的搜索对象以及所述候选词关联的搜索对象,确定所述搜索词与所述候选词之间的第一初始相似度,将所述第一初始相似度作为所述迭代运算的初始值,或根据所述搜索对象所对应的候选词,确定所述搜索词关联的搜索对象与所述候选词关联的搜索对象之间的第二初始相似度,将所述第二初始相似度作为所述迭代运算的初始值。通过搜索词关联的搜索对象以及候选词关联的搜索对象确定第一初始相似度,可以提高得到的第一初始相似度与搜索词的相关性,通过搜索对象关联的候选词确定第二初始相似度,可以提高得到的第二初始相似度与搜索对象的相关性。

在一实施例中,所述根据所述第一相似度从所述候选词中确定所述搜索词的联想词,包括:将第一相似度大于预设值的所述候选词作为所述搜索词的联想词,从而可以得到与搜索词的关联度更高的联想词。

在一实施例中,所述联想词的数量为多个,所述根据所述联想词推荐目标搜索对象,包括:确定各所述联想词关联的所述搜索对象;将相关度大于预设值的所述搜索对象作为所述目标搜索对象并输出,从而可以为用户推荐有效的目标搜索对象,进而缩短搜索路径。

在一实施例中,在根据所述联想词推荐目标搜索对象之后,所述方法还包括:根据用户点击的目标搜索对象更新所述二部图,从而可以丰富构建二部图的数据,进而优化二部图。

第二方面,提供一种搜索对象推荐装置,包括:

获取模块,用于获取搜索词;

计算模块,用于根据二部图确定所述搜索词与候选词的第一相似度,所述二部图根据历史搜索行为生成,所述二部图包括第一集合、第二集合以及若干条边,所述第一集合包括所述候选词,所述第二集合包括搜索对象,每条边用于连接相互关联的所述候选词和所述搜索对象,每条边的值表示相互关联的所述候选词与所述搜索对象之间的关联程度;所述历史搜索行为中的同一搜索行为的所述候选词均与点击行为对应的所述搜索对象相互关联,同一搜索行为的所述候选词表示从检测到输入行为到检测到所述点击行为之间所检测到的所有候选词;

确定模块,用于根据所述第一相似度从所述候选词中确定所述搜索词的联想词;

推荐模块,用于根据所述联想词推荐目标搜索对象。

在一实施例中,所述边的值根据所述候选词的点击次数确定,所述候选词的点击次数表示根据所述候选词点击对应的所述搜索对象的次数。

在一实施例中,所述计算模块具体用于:

根据所述搜索词对应的所有边的值、所述候选词对应的所有边的值,以及第二相似度确定所述搜索词与候选词的第一相似度,所述第二相似度为所述搜索词关联的搜索对象与所述候选词关联的搜索对象之间的相似度。

在一实施例中,所述第二相似度由所述第一相似度确定,所述计算模块具体用于:

根据所述搜索词对应的所有边的值、所述候选词对应的所有边的值、所述第二相似度,以及预设迭代公式进行迭代运算,得到所述搜索词与候选词的第一相似度。

在一实施例中,所述计算模块还用于:

根据所述搜索词关联的搜索对象以及所述候选词关联的搜索对象,确定所述搜索词与所述候选词之间的第一初始相似度,将所述第一初始相似度作为所述迭代运算的初始值,或根据所述搜索对象所对应的候选词,确定所述搜索词关联的搜索对象与所述候选词关联的搜索对象之间的第二初始相似度,将所述第二初始相似度作为所述迭代运算的初始值。

在一实施例中,所述确定模块具体用于:

将第一相似度大于预设值的所述候选词作为所述搜索词的联想词。

在一实施例中,所述联想词的数量为多个,所述推荐模块具体用于:

确定各所述联想词关联的所述搜索对象;

将相关度大于预设值的所述搜索对象作为所述目标搜索对象并输出。

在一实施例中,所述计算模块还用于:

根据用户点击的目标搜索对象更新所述二部图。

第三方面,提供一种电子设备,包括处理器,所述处理器用于执行存储在存储器中的计算机程序,以实现如上述第一方面所述的搜索对象推荐方法。

第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的搜索对象推荐方法。

第五方面,提供一种芯片,所述芯片包括处理器,所述处理器和存储器耦合,所述处理器执行所述存储器中存储的计算机程序或指令,以实现如上述第一方面所述的搜索对象推荐方法。

第六方面,提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的搜索对象推荐方法。

可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

图1为本申请实施例提供的一种搜索对象推荐方法的流程示意图;

图2为本申请实施例提供的用户输入搜索词的一种场景示意图;

图3为本申请实施例提供的用户输入搜索词的另一种场景示意图;

图4为本申请实施例提供的二部图的示意图;

图5为本申请实施例提供的搜索对象的推荐方法的一种应用场景图;

图6为本申请实施例提供的搜索对象的推荐方法的另一种应用场景图;

图7为本申请实施例提供的电子设备的结构示意图;

图8为本申请实施例提供的电子设备的软件架构图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。

现有技术中,电子设备需要用户输入较多的字符才可以确定用户的搜索意图,为用户推荐搜索对象,因此搜索效率较低。

为此,本申请提供一种搜索对象推荐方法,包括:获取搜索词,根据二部图确定搜索词与候选词的第一相似度。其中,二部图根据历史搜索行为生成,二部图包括第一集合、第二集合以及边,第一集合包括候选词,第二集合包括搜索对象,边的值表示相互关联的候选词与搜索对象之间的关联程度,历史搜索行为中的同一搜索行为的候选词均与点击行为对应的搜索对象相互关联,同一搜索行为的候选词表示从检测到输入行为到检测到点击行为之间所检测到的所有候选词;根据第一相似度从候选词中确定搜索词的联想词;根据联想词推荐目标搜索对象。

由于同一搜索行为的候选词表示从检测到输入行为到检测到点击行为之间所检测到的所有候选词,因此同一搜索行为包括点击行为所对应的候选词以及在检测到点击行为之前用户所输入的较少的字符的候选词。由于二部图中同一搜索行为的候选词均与点击行为对应的搜索对象相互关联,因此,根据二部图确定搜索词与候选词的第一相似度,可以快速确定与较少字符的搜索词相似的较多字符的联想词,再根据联想词推荐目标对象,可以在用户输入较少字符的情况下识别用户的搜索意图,为用户推荐有效的搜索对象,进而提高搜索效率。

下面对本申请实施例提供的搜索对象推荐方法进行示例性说明。

本申请实施例提供的搜索对象推荐方法可以应用于电子设备,也可以应用于与电子设备通信的服务器。以本申请实施例提供的搜索对象推荐方法可以应用于电子设备为例,对本申请实施例提供的搜索对象推荐方法进行说明。

示例性的,本申请实施例中所述的电子设备可以是手机、平板电脑、手持计算机、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)虚拟现实(virtual reality,VR)设备、媒体播放器、穿戴设备等可单手握持/操作的设备,本申请实施例对该电子设备的具体形态/类型不作特殊限制。上述电子设备包括但不限于搭载

如图1所示,本申请一实施例提供的搜索对象推荐方法包括:

S101:获取搜索词。

具体地,电子设备检测到的用户在搜索界面所输入的字符为搜索词。

搜索界面可以是搜索应用程序、服务、游戏、网页、图片、视频等内容的界面。搜索词可以是中文、英文、数字等一种或多种字符。

在一实施例中,电子设备在检测到用户的搜索指令时,将用户当前输入的字符作为搜索词。例如,如图2所示,在应用程序的搜索界面,用户在搜索界面输入“运动”后,点击“搜索”控件。电子设备在检测到用户点击“搜索”控件时,将“运动”作为搜索词。

在另一实施例中,电子设备将搜索界面上当前显示的字符作为搜索词。例如,如图3所示,在应用程序的搜索界面,用户依次输入heal,电子设备在检测到用户输入“h”后,将“h”作为搜索词,在检测到用户输入“e”后,将“he”作为搜索词,在检测到用户输入“a”后,将“hea”作为搜索词,在检测到用户输入“l”后,将“heal”作为搜索词。

S102:根据二部图确定所述搜索词与候选词的第一相似度,所述二部图根据历史搜索行为生成,所述二部图包括第一集合、第二集合以及若干条边,所述第一集合包括所述候选词,所述第二集合包括搜索对象,每条边用于连接相互关联的所述候选词和所述搜索对象,每条边的值表示相互关联的所述候选词与所述搜索对象之间的关联程度;所述历史搜索行为中的同一搜索行为的所述候选词均与点击行为对应的所述搜索对象相互关联,同一搜索行为的所述候选词表示从检测到输入行为到检测到所述点击行为之间所检测到的所有候选词。

具体地,二部图也指二分图,是根据预设时段(例如一周、一个月、一年等)的历史搜索行为预先生成。历史搜索行为是用户通过在搜索界面输入候选词进行搜索,并点击电子设备推荐的搜索对象的行为。第一集合中的候选词是电子设备在历史搜索行为中检测到的搜索词,第二集合中的搜索对象是电子设备在历史搜索行为中检测到的用户点击的对象。历史搜索行为中,用户输入候选词,电子设备为用户推荐搜索对象,用户点击其中一个推荐的搜索对象,则候选词与用户点击的搜索对象相互关联,连接相互关联的候选词和搜索对象的线段即为边。历史搜索行为可以是当前电子设备上的历史搜索行为,也可以是服务器采集的多个电子设备上报的历史搜索行为。二部图可以由电子设备生成,也可以由服务器生成后,由电子设备从服务器获取。

同一搜索行为的候选词表示从检测到输入行为到检测到点击行为之间所检测到的所有候选词。具体地,电子设备在检测到用户打开搜索界面且未进行输入的情况下,若检测到用户的输入行为,则确定搜索行为开始,记录搜索界面上当前显示的字符,将记录的字符作为当前搜索行为的候选词,当检测到用户的点击行为时,搜索行为结束,则从检测到输入行为到检测到点击行为之间所记录的候选词为同一搜索行为的候选词。

一个搜索行为对应一个点击行为,因此同一搜索行为的候选词对应一个点击行为,点击行为对应的搜索对象是指点击行为所点击的对象,因此同一搜索行为的候选词对应一个搜索对象。

例如,电子设备检测到用户打开搜索界面时,开始监控用户的输入行为,若检测到用户输入“运”,确定搜索行为开始,将“运”作为候选词并记录,若检测到用户继续输入“动”,则将“运动”作为候选词并记录,若检测到用户继续输入“健”,则将“运动健”作为候选词并记录,若检测到用户继续输入“康”,则将“运动健康”作为候选词并记录。之后,若检测到用户点击“运动健康”的操作,确定搜索行为结束,将“运”、运动”、“运动健”、“运动健康”作为同一搜索行为的候选词,同一搜索行为的候选词对应一个点击行为,该点击行为对应的搜索对象为“运动健康”。

若用户输入“运动健康”后删除输入信息,即在检测到输入行为后未检测到点击行为,且当前搜索界面上不存在字符,则电子设备确定不存在与搜索行为对应的候选词,开始监控下一个搜索行为。例如,在检测到用户的输入行为的情况下,确定下一个搜索行为开始,并记录对应的候选词。

又例如,电子设备检测到用户打开搜索界面时,开始监控用户的输入行为,若检测到用户输入“h”,则将“h”作为候选词并记录,若检测到用户继续输入“e”,则将“he”作为候选词并记录,若检测到用户继续输入“e”,则将“hee”作为候选词并记录,若检测到用户删除“e”后输入“a”,则将“hea”作为候选词并记录,若检测到用户继续输入“l”,则将“heal”作为候选词并记录。之后,若检测到用户点击“health app”的操作,则将“h”、“he”、“hee”、“hea”、“heal”作为同一搜索行为的候选词,同一搜索行为的候选词对应一个点击行为,该点击行为对应的搜索对象为“health app”。

又例如,电子设备检测到用户打开搜索界面时,开始监控用户的输入行为,若检测到用户粘贴字符的操作,则执行粘贴操作,在显示界面上显示粘贴后的字符“hea”,将“hea”作为候选词并记录,若检测到用户继续输入“l”,则将“heal”作为候选词并记录。之后,若检测到用户点击“health app”的操作,则将“hea”、“heal”作为同一搜索行为的候选词,同一搜索行为的候选词对应一个点击行为,该点击行为对应的搜索对象为“health app”。

因此,同一搜索行为的候选词包括用户点击搜索对象之前显示界面上所显示的所有候选词,既包括用户输入的不完整的词语,也包括用户输入的错误的词语。

在确定历史搜索行为中每个候选词关联的搜索对象后,即可构建二部图。具体地,同一搜索行为的候选词对应点击行为所点击的搜索对象,也即同一搜索行为的候选词均与点击行为所点击的搜索对象相互关联,二部图中每条边均用于连接相互关联的候选词和搜索对象,即同一搜索行为的候选词均存在指向对应的搜索对象的边。例如,“运”、运动”、“运动健”、“运动健康”为同一搜索行为的候选词,对应的搜索对象为“运动健康”,则“运”、运动”、“运动健”、“运动健康”均存在指向“运动健康”的边。又例如,“h”、“he”、“hee”、“hea”、“heal”为同一搜索行为的候选词,对应的搜索对象为“health app”,则“h”、“he”、“hee”、“hea”、“heal”均存在指向“health app”的边。

可以理解,同一候选词可以与多个搜索行为对应,每个搜索行为对应一个搜索对象,因此同一候选词可以与多个搜索对象关联,对应地,同一候选词可以存在指向多个搜索对象的边。例如,“h”、“he”、“hea”、“heal”对应的搜索对象为“health app”,“h”、“ha”、“hap”对应的搜索对象为“happy”,则候选词“h”存在指向“health app”的边以及指向“happy”的边。

指向同一搜索对象的候选词可以分别为不同字符(例如中文、英文、数字)组成的词语,每个候选词也可以由一种或多种字符组成。例如,在历史搜索行为中,电子设备检测到用户打开搜索界面时,开始监控用户的输入行为,若检测到用户输入“运”,则将“运”作为候选词并记录,若检测到用户继续输入“动”,则将“运动”作为候选词并记录,若检测到用户继续输入“健”,则将“运动健”作为候选词并记录,若检测到用户继续输入“康”,则将“运动健康”作为候选词并记录。之后,若检测到用户点击“health app”的操作,则“运”、运动”、“运动健”、“运动健康”为同一搜索行为的候选词,对应的搜索对象为“health app”,“运”、运动”、“运动健”、“运动健康”均存在指向“health app”的边。同理,在另一历史搜索行为中,“h”、“he”、“hea”、“heal”为同一搜索行为的候选词,对应的搜索对象为“health app”,“h”、“he”、“hea”、“heal”均存在指向“health app”的边。

用边连接相互关联的候选词和搜索词,即可得到二部图。示例性地,二部图如图4所示,二部图包括候选词的集合以及搜索对象的集合,每条边均用于连接相互关联的候选词和搜索对象。候选词集合中的候选词“运”、运动”、“h”、“he”、“hea”均存在指向搜索对象“health app”的边,“h”、“ha”、“hap”均存在指向搜索对象“happy”的边,“智”、“智能”、“智能关”均存在指向搜索对象“智能关怀”的边。

二部图中每条边所连接的候选词和搜索对象相互关联,边的值表示候选词和搜索对象之间的关联程度。

在一实施例中,边的值根据候选词的点击次数确定,候选词的点击次数表示根据候选词点击对应的搜索对象的次数。

具体地,历史搜索行为中,在电子设备显示搜索界面的情况下,当检测到候选词后,电子设备检测到用户继续输入字符,或者检测到用户的点击行为。若电子设备检测到候选词后,检测到用户继续输入字符,则在当前的搜索行为中,该候选词为不存在点击行为的候选词。若电子设备检测到候选词后,检测到用户的点击行为,则在当前的搜索行为中,该候选词为存在点击行为的候选词。因此,同一搜索行为的候选词包括存在点击行为的候选词,也包括不存在点击行为的候选词。一个搜索行为包括多个候选词,一个搜索行为对应一个点击行为以及一个搜索对象,搜索对象所对应的搜索行为也称为点击对应的搜索对象的搜索行为。对于连接候选词和搜索对象的边,统计点击搜索对象的历史搜索行为中,搜索界面上显示候选词的次数,即为检测到候选词的次数。对于检测到候选词的历史搜索行为,统计检测到候选词后未检测到用户继续输入字符,且检测到用户点击搜索对象的次数,即为根据候选词点击对应的搜索对象的次数,根据候选词点击对应的搜索对象的次数也是候选词作为存在点击行为的候选词的次数,也是候选词的点击次数。

在一实施例中,边的值等于候选词的点击次数。

例如,如图4所示,对于连接“h”和“health app”的边,点击行为是点击“healthapp”的搜索行为中,检测到候选词“h”的次数为1500次。点击行为是点击“health app”的搜索行为中,在检测到“h”后,未检测到用户继续输入字符,且检测到用户点击“health app”的次数(即根据“h”点击“health app”的次数)为200次,则边的值为200。

在另一实施例中,边的值等于检测到候选词的次数与平滑处理后的转化率的乘积,转化率为点击次数与检测到候选词的次数的比值,平滑处理可以是威尔逊平滑处理。通过对转化率进行平滑处理,可以对转化率进行修正,得到置信度更高的平滑处理后的转化率。

例如,对于连接候选词和搜索对象的边,检测到候选词的次数为1500词,威尔逊平滑处理后的转化率为0.2,则边的值为300。

候选词的点击次数越多,对应的平滑处理后的转化率越高。用检测到候选词的次数与平滑处理后的转化率的乘积表示边的值,可以提高候选词与搜索对象的相关性,以及提高用边的值表征相关程度的准确性。

在其他实施例中,边的值也可以根据候选词的点击次数以及搜索对象的总点击次数确定,搜索对象的总点击次数包括根据不同的候选词点击搜索对象的次数。

可以理解,二部图中的候选词、搜索对象、边的连接方式、边的值也可以以文本的方式进行存储。

将有效点击次数作为边的值,相对于将检测到候选词的次数作为边的值,以及将根据候选词点击搜索对象的次数作为边的值,可以提高候选词与搜索对象的相关性,进而提高二部图中的边的值与用户的搜索行为的相关性。

在一实施例中,搜索词与其中一个候选词相同,根据搜索词对应的所有边的值、候选词对应的所有边的值,以及第二相似度确定搜索词与候选词的第一相似度,第二相似度为搜索词关联的搜索对象与候选词关联的搜索对象之间的相似度。具体地,搜索词对应的所有边为连接搜索词的所有边,候选词对应的所有边为连接候选词的所有边。搜索词关联的搜索对象指与搜索词之间存在边的搜索对象,候选词关联的搜索对象指与候选词之间存在边的搜索对象。二部图中包括多个候选词,计算搜索词关联的搜索对象与每个候选词关联的搜索对象之间的相似度,得到第二相似度,得到第二相似度后,再计算第一相似度。

在一实施例中,第二相似度由第一相似度确定,通过多次迭代运算,得到最终的第一相似度。具体地,根据搜索词对应的所有边的值、候选词对应的所有边的值、第二相似度确定,以及预设迭代公式进行迭代运算,得到搜索词与候选词的第一相似度。示例性地,根据搜索词对应的所有边的值、候选词对应的所有边的值、第二相似度确定第一相似度,再根据两个搜索对象中,每个搜索对象对应的所有边的值以及第一相似度确定两个搜索对象的第二相似度,再根据第二相似度确定第一相似度,依次进行多次迭代,得到最终的第一相似度。其中,可以在达到预设迭代次数(例如20次)时,确定迭代结束,算法收敛,得到最终的第一相似度。

通过结合搜索词对应的所有边的值、候选词对应的所有边的值以及搜索对象之间的相似度进行迭代运算,得到最终的第一相似度,可以将存在间接关系的搜索词和候选词建立联系,提高搜索词与候选词的相关性。

在一实施例中,根据公式

计算第一相似度。

根据公式

计算第二相似度。

其中,S

E(q

S

S

E(a

S

电子设备可以确定第一相似度的初始值,将第一相似度的初始值代入第二相似度的计算公式,得到的第二相似度,再将得到的第二相似度代入第一相似度的计算公式,得到第一相似度,再将第一相似度代入第二相似度的计算公式,得到第二相似度,再计算第一相似度,依次迭代,在达到预设迭代次数时,得到最终的第一相似度。

电子设备也可以先确定第二相似度的初始值,将第二相似度的初始值代入第一相似度的计算公式,得到第一相似度,再将第一相似度代入第二相似度的计算公式,得到第二相似度,依次迭代,得到最终的第一相似度。

在一实施例中,根据搜索词关联的搜索对象以及候选词关联的搜索对象,确定搜索词与候选词之间的第一初始相似度,将第一初始相似度作为迭代运算的初始值。示例性地,搜索词关联的搜索对象中与候选词关联的搜索对象中,若存在相同的搜索对象,则第一初始相似度为1,若不存在相同的搜索对象,则初始相似度为0。

在一实施例中,根据搜索对象所对应的候选词,确定搜索词关联的搜索对象与候选词关联的搜索对象之间的第二初始相似度,将第二初始相似度作为迭代运算的初始值。示例性地,任意两个搜索对象分别关联的候选词中,若存在相同的候选词,则两个搜索对象的第二初始相似度为1,若不存在相同的候选词,则两个搜索对象的第二初始相似度为0。

在其他实施例中,也可以将第一初始相似度设定为固定值(例如1或0.5),将第一初始相似度作为迭代运算的初始值,或者将第二初始相似度设定为固定值,将第二初始相似度作为迭代运算的初始值。

通过第一相似度的计算公式计算搜索词与候选词的相似度,融合了连接搜索词与搜索对象的边的值与连接搜索词的所有边的和的比值、连接候选词与搜索对象的边的值与连接候选词的所有边的和的比值,以及搜索词连接的搜索对象与候选词连接的搜索对象之间的相似度。连接候选词与搜索对象的边的值与连接候选词的所有边的和的比值可以表示每个搜索对象在连接候选词的所有搜索对象中所占的权重。通过第二相似度的计算公式计算搜索对象之间的相似度,融合了连接搜索对象与候选词的边与连接搜索对象的所有边的和的比值,以及候选词之间的相似度。连接搜索对象与候选词的边与连接搜索对象的所有边的和的比值可以表示每个候选词在连接搜索对象的所有候选词中所占的权重。对第一相似度和第二相似度进行迭代运算,得到最终的第一相似度,可以充分利用连接搜索词与候选词的所有边,将存在间接关系的搜索词与候选词建立联系,提高得到的第一相似度与候选词以及搜索对象的相关性,进而提高后续确定的联想词的准确度。

在其他实施例中,第二相似度也可以根据搜索对象对应的所有边的值确定。例如第二相似度可以根据两个搜索对象所对应的相同候选词的数量确定。第一相似度也可以根据搜索词连接的搜索对象以及与候选词连接的搜索对象确定,例如第一相似度可以根据搜索词连接的搜索对象中、候选词连接的搜索对象中,相同搜索对象的数量确定。

S103:根据所述第一相似度从所述候选词中确定所述搜索词的联想词。

具体地,第一相似度为搜索词与每个候选词的第一相似度。在得到第一相似度后,根据各候选词对应的第一相似度,从候选词中确定联想词。

在一实施例中,将第一相似度大于预设值的候选词作为搜索词的联想词。第一相似度大于预设值的候选词可以是第一相似度大于固定数值的候选词,也可以是根据第一相似度对候选词排序后,排列在前N(例如5)的候选词。

可以理解,与搜索词相同的候选词与搜索词的第一相似度最大,因此,联想词也包括搜索词。

S104:根据所述联想词推荐目标搜索对象。

具体地,在二部图中,联想词为其中一个或多个候选词。根据二部图确定与联想词关联的搜索对象,从中确定目标搜索对象,在搜索界面输出目标搜索对象,以将目标搜索对象推荐给用户。

在一实施例中,根据二部图确定与联想词关联的搜索对象,将相关度大于预设值的搜索对象作为目标搜索对象并输出。其中,相关度可以根据用户输入的搜索词、用户的搜索习惯、搜索对象的搜索频率中的一项或多项确定。例如,可以根据用户输入的搜索词、用户的搜索习惯、搜索对象的搜索频率以及预设评分规则确定各项的评分,根据各评分以及对应的权重确定相关度。

在一实施例中,在确定目标搜索对象后,可以按照相关度从大到小的顺序对目标搜索对象进行排序并输出。

电子设备在检测到用户的输入行为时,确定搜索行为开始,在检测到用户的点击行为时,确定搜索行为结束。在输入行为和点击行为之间所检测到的搜索界面上显示的字符为同一搜索行为的搜索词。将该搜索行为作为历史搜索行为,搜索词作为该历史搜索行为的候选词,用户点击的目标搜索对象为历史搜索行为对应的搜索对象,根据该历史搜索行为的候选词以及对应的目标搜索对象可以更新构建二部图的历史搜索行为,进而更新二部图,从而可以使用更丰富的数据构建二部图,提高二部图与用户的搜索行为的相关性。

在一实施例中,若二部图中存在与搜索词相同的候选词,则根据上述方法确定搜索词与候选词的第一相似度,再根据第一相似度确定联想词,进而确定目标搜索对象。若二部图中不存在与搜索词相同的候选词,则可以根据搜索词的语义确定目标搜索对象,也可以从二部图中确定与搜索词的语义相近或者字符相近的候选词,将这些候选词作为联想词,再根据联想词确定目标搜索对象。

上述实施例中,二部图中同一搜索行为的候选词包括用户点击搜索对象之前显示界面上所显示的所有候选词,既包括用户输入的不完整的词语,也包括用户输入的错误的词语。由于二部图中同一搜索行为的候选词均与点击行为对应的搜索对象相互关联,因此,根据二部图确定搜索词与候选词的第一相似度,可以快速确定与较少字符的搜索词相似的较多字符的联想词,或者确定与错误字符的搜索词相似的联想词,再根据联想词推荐目标对象,可以在用户输入较少字符或者错误字符的情况下识别用户的搜索意图,从而可以对输入的字符进行纠错,以及可以为用户推荐有效的搜索对象,进而提高搜索效率。

下面结合具体场景对本申请实施例提供的搜索对象推荐方法进行介绍。

如图5所示,在手机显示应用程序的搜索界面的情况下,手机检测到用户输入“运”的情况下,根据二部图确定“运”与所有候选词的第一相似度,根据第一相似度确定“运”的联想词为“运动”、“运动健康”、“健康”、“运输”,再根据联想词确定目标搜索对象依次为“运动健康”、“××运动”、“××健康”、“××计步”、“××运输”、“××司机”,则手机按照目标搜索对象的顺序在显示界面显示目标搜索对象。在一实施例中,手机也可以在显示界面显示“更多”选项,若检测到用户点击“更多”选项,则输出与联想词相关的所有搜索对象。其中,手机也可以确定与联想词相关的所有搜索对象的相关度,按照相关度从大到小的顺序输出与联想词相关的所有搜索对象。

上述实施例中,在用户未输入完整词语的情况下,手机即可确定用户的搜索意图,对用户输入的词语进行扩展,得到联想词,进而输出目标搜索对象,从而可以缩短搜索路径,提高搜索效率,进而可以提高应用程序的下载效率。

如图6所示,在手机显示游戏中心的搜索界面的情况下,手机检测到用户输入“抛酷”的情况下,根据二部图确定“抛酷”与所有候选词的第一相似度,根据第一相似度确定“抛酷”的联想词为“跑酷”、“酷跑”,再根据联想词确定目标搜索对象依次为“××跑酷”、“××酷跑”、“××逃跑”、“××快跑”。

上述实施例中,手机在检测到用户输入错误字符的情况下,可以根据二部图确定用户输入字符的联想词,从而可以对用户输入的字符进行纠错,以识别用户的真实搜索意图,进而为用户推荐更优的目标搜索对象,提高了搜索效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

示例性的,图7示出了电子设备100的一种结构示意图。

电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。

可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。

电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。

外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。

电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。

触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。

电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。

图8是本发明实施例的电子设备100的软件结构框图。

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。

应用程序层可以包括一系列应用程序包。

如图8所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。

如图8所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。

Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。

三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。

2D图形引擎是2D绘图的绘图引擎。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 对象搜索方法、装置、电子设备及计算机可读存储介质
  • 视频搜索方法和装置、电子设备以及计算机可读存储介质
  • 推荐代理人方法、电子设备以及计算机可读存储介质
  • 用户推荐方法、装置、电子设备和计算机可读存储介质
  • 一种对象推荐方法、装置、终端及计算机可读存储介质
  • 对象推荐方法、对象推荐装置、电子设备及可读存储介质
  • 对象推荐方法、对象推荐装置、电子设备及可读存储介质
技术分类

06120116485693