搜索方法和电子设备与流程

文档序号:30950987发布日期:2022-07-30 07:33阅读:85来源:国知局
搜索方法和电子设备与流程

1.本技术涉及电子技术领域,尤其涉及一种搜索方法和电子设备。


背景技术:

2.随着手机等电子设备的广泛应用,电子设备内存储的数据量也随之增长,因此,电子设备内设置的搜索功能逐渐成为用户普遍使用的重要功能之一。
3.在现有技术中,当用户想搜索信息时,可在电子设备的搜索界面中的搜索框内输入关键词,然后,电子设备将存储的信息与关键词进行比对后,将与关键词匹配的搜索结果呈现给用户。
4.其中,上述呈现给用户的搜索结果通常是按照与关键词的相似度由高到低的顺序进行排序的,虽然此方法能为用户提供一些与关键词相似度较高的搜索结果,但是搜索结果与搜索结果之间也通常非常相似,导致呈现的搜索结果内容比较单一,无法为用户提供全面的、多样的搜索结果。


技术实现要素:

5.本技术提供了一种搜索方法和电子设备,解决了现有技术中搜索结果单一的问题,可以为用户提供全面的、多样的搜索结果。
6.为达到上述目的,本技术采用如下技术方案:
7.第一方面,提供了一种搜索方法,该搜索方法应用于电子设备,该搜索方法包括:获取对应于搜索信息包括的至少一个关键词的多个搜索结果;获取所述多个搜索结果在所述电子设备的显示界面上的排列顺序,所述多个搜索结果中的第一搜索结果在所述显示界面上的排列顺序位于n个搜索结果在所述显示界面上的排列顺序之前;n为大于1的整数,所述n个搜索结果为所述多个搜索结果中除所述第一搜索结果外的搜索结果;其中,所述第一搜索结果与所述搜索信息之间的相似度高于所述n个搜索结果分别与所述搜索信息之间的相似度;所述n个搜索结果在所述显示界面上的排列顺序对应于所述n个搜索结果中每个搜索结果的综合评分,所述n个搜索结果中的任一搜索结果的综合评分由所述任一搜索结果与所述搜索信息之间的相似度、以及所述任一搜索结果与所述多个搜索结果中排列顺序位于所述任一搜索结果之前的搜索结果之间的差异度确定。
8.第一方面提供的搜索方法,通过获取对应于搜索信息包括的至少一个关键词的多个搜索结果,以及该多个搜索结果在电子设备的显示界面上的排列顺序,后续可以按照排列顺序在显示界面上显示该多个搜索结果。由于,在确定该多个搜索结果在电子设备的显示界面上的排列顺序时,先确定了每个搜索结果与搜索信息之间的相似度,将相似度最高的搜索结果作为第一搜索结果排在了其他n个搜索结果之前,然后,在确定该n个搜索结果在显示界面上的排列顺序时,考量了该n个搜索结果中任一搜索结果与搜索信息之间的相似度,以及任一搜索结果与多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果之间的差异度,所以,获取到的排列顺序既能满足用户的搜索意向,又能保证搜索结果与搜索
结果之间的差异,从而解决了现有技术中的搜索结果单一的问题,实现了为用户提供全面的、多样的搜索结果的功能。
9.在第一方面一种可能的实现方式中,所述n个搜索结果中综合评分高的搜索结果在所述显示界面上的排列顺序位于所述n个搜索结果中综合评分低的搜索结果在所述显示界面上的排列顺序之前。在该实现方式中,可将与搜索信息相似度高、与已确定出排列顺序的搜索结果差异度高的搜索结果排列在前边,给用户提供更全面的信息。
10.在第一方面一种可能的实现方式中,当所述搜索信息包括多个关键词时,所述方法还包括:按照所述多个关键词的输入顺序为所述多个关键词分配对应的搜索权重。在该实现方式中,由于关键词的输入顺序与用户的搜索意向具有一定相关性,由此,可以根据关键词的输入顺序分配对应的搜索权重。
11.在第一方面一种可能的实现方式中,当所述搜索信息包括多个关键词时,所述方法还包括:根据所述多个搜索结果中的每个搜索结果、所述搜索信息以及所述搜索信息包括的所述多个关键词分别对应的搜索权重,确定所述多个搜索结果分别与所述搜索信息之间的相似度;根据所述多个搜索结果分别与所述搜索信息之间的相似度,从所述多个搜索结果中确定所述第一搜索结果。
12.在第一方面一种可能的实现方式中,所述多个搜索结果中排列顺序位于所述任一搜索结果之前的搜索结果为所述第一搜索结果;或者,所述多个搜索结果中排列顺序位于所述任一搜索结果之前的搜索结果包括所述第一搜索结果以及所述n个搜索结果中排列顺序位于所述任一搜索结果之前的至少一个搜索结果。在该实现方式中,当排列顺序位于任一搜索结果之前的搜索结果为第一搜索结果时,获取的多个搜索结果的排列顺序在满足用户的搜索意向的同时,可以保证均与第一搜索结果具有一定差异。当多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果包括第一搜索结果以及n个搜索结果中排列顺序位于任一搜索结果之前的至少一个搜索结果时,获取的多个搜索结果的排列顺序在满足用户的搜索意向的同时,可以保证与排列顺序在先的每一个搜索结果都具有一定差异。
13.在第一方面一种可能的实现方式中,所述方法还包括:确定所述n个搜索结果中每个搜索结果的综合评分,并将所述n个搜索结果中的综合评分最高的搜索结果作为在所述显示界面上排列顺序排在所述第一搜索结果之后的第1+i位的搜索结果;i大于或者等于1;重复执行确定所述n个搜索结果中每个搜索结果的综合评分,并将所述n个搜索结果中的综合评分最高的搜索结果作为在所述显示界面上排列顺序排在所述第一搜索结果之后的第1+i位的搜索结果的步骤,且每执行一次步骤n减少1,i增加1,直至n为0;其中,每次减少的搜索结果为上一次已确定出排列顺序的位置的搜索结果。
14.在第一方面一种可能的实现方式中,所述确定所述n个搜索结果中每个搜索结果的综合评分,包括:针对所述n个搜索结果中的第m个搜索结果,确定所述第m个搜索结果与所述搜索信息之间的相似度对应的相似度权重;确定所述第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度,并确定所述第m个搜索结果与每个已确定出排列顺序的搜索结果之间的差异度对应的差异度权重;其中,所述已确定出排列顺序的位置的搜索结果包括所述第一搜索结果;根据所述第m个搜索结果与所述搜索信息之间的相似度、所述相似度对应的所述相似性权重,所述第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度、以及所述差异度对应的所述差异度权重,确定所述第m个搜索
结果的综合评分。在该实现方式中,通过分配相似性权重和差异度权重,可以在确定综合评分时,调整搜索结果与搜索信息之间的相似度、以及搜索结果与已确定出排列顺序的搜索结果之间的差异度两者之间所占的比重,保证搜索结果之间具有差异度的同时依然能满足用户的搜索意向。
15.在第一方面一种可能的实现方式中,所述第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度对应的所述差异度权重均相同。
16.在第一方面一种可能的实现方式中,所述确定所述第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间分别对应的差异度,包括:针对每个已确定出排列顺序的位置的搜索结果,当所述第m个搜索结果包括多种预设属性时,确定在每种预设属性下所述第m个搜索结果与所述已确定出排列顺序的位置的搜索结果之间的属性差异度,其中,所述属性差异度用于表示在预设属性下,所述第m个搜索结果与所述已确定出排列顺序的位置的搜索结果之间的差异度;确定每种预设属性下所述第m个搜索结果与所述已确定出排列顺序的位置的搜索结果之间的所述属性差异度对应的属性权重;根据在每种预设属性下所述第m个搜索结果与所述已确定出排列顺序的位置的搜索结果之间的所述属性差异度,以及所述属性差异度对应的所述属性权重,确定所述第m个搜索结果与所述已确定出排列顺序的位置的搜索结果之间的差异度。在该实现方式中,若第m个搜索结果包括多种预设属性,针对每种预设属性,确定第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度,从而可以细化考量第m个搜索结果与已确定出排列顺序的位置的搜索结果在各个属性下的差异程度。
17.在第一方面一种可能的实现方式中,每种预设属性下,所述第m个搜索结果与所述已确定出排列顺序的位置的搜索结果之间的所述属性差异度对应的所述属性权重均不同。在该实现方式中,通过分配不同的属性权重,可以调整每种预设属性所占的影响比重,保证第m个搜索结果与已确定出排列顺序的位置的搜索结果之间每方面都具有差异度且影响不同。
18.在第一方面一种可能的实现方式中,当所述第m个搜索结果为文档时,所述预设属性包括名称、作者、内容中的至少两种。
19.在第一方面一种可能的实现方式中,所述获取所述多个搜索结果在所述电子设备的显示界面上的排列顺序之前,所述方法还包括:向至少一个第一电子设备发送所述多个搜索结果;所述获取所述多个搜索结果在所述电子设备的显示界面上的排列顺序,包括:接收来自至少一个第一电子设备发送的所述多个搜索结果在所述电子设备的显示界面上的排列顺序。在该实现方式中,利用第一电子设备来多个搜索结果进行处理,获取排列顺序,可以减轻电子设备的计算功耗,降低对电子设备的硬件要求。
20.在第一方面一种可能的实现方式中,所述获取所述多个搜索结果在所述电子设备的显示界面上的排列顺序之后,所述方法还包括:向至少一个第二电子设备发送所述多个搜索结果在所述电子设备的显示界面上的排列顺序。
21.在第一方面一种可能的实现方式中,所述获取对应于搜索信息包括的至少一个关键词的多个搜索结果,包括:检测所述搜索信息;向至少一个第三电子设备发送所述搜索信息;接收来自所述至少一个第三电子设备的对应于所述搜索信息包括的至少一个关键词的多个搜索结果。在该实现方式中,通过电子设备获取至少一个第三电子设备上的搜索结果,
可实现分布式搜索,方便用户搜索其他电子设备,扩大搜索范围。
22.第二方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现以上第一方面或者第一方面中任意一方面可能的实现方式中的搜索方法。
23.第三方面,提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面或第一方面的任意可能的实现方式中的方法。
24.第四方面,提供了一种电子设备,包括:处理器;
25.所述处理器执行存在存储器中的计算机程序,实现以上第一方面或者第一方面中任意一方面可能的实现方式中的搜索方法。
26.本技术实施例提供的搜索方法和电子设备,通过获取对应于搜索信息包括的至少一个关键词的多个搜索结果,以及该多个搜索结果在电子设备的显示界面上的排列顺序,后续可以按照排列顺序在显示界面上显示该多个搜索结果。由于,在确定该多个搜索结果在电子设备的显示界面上的排列顺序时,先确定了每个搜索结果与搜索信息之间的相似度,将相似度最高的搜索结果作为第一搜索结果排在了其他n个搜索结果之前,然后,在确定该n个搜索结果在显示界面上的排列顺序时,考量了该n个搜索结果中任一搜索结果与搜索信息之间的相似度,以及任一搜索结果与多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果之间的差异度,所以,获取到的排列顺序既能满足用户的搜索意向,又能保证搜索结果与搜索结果之间的差异,从而解决了现有技术中的搜索结果单一的问题,实现了为用户提供全面的、多样的搜索结果的功能。
附图说明
27.图1为本技术实施例提供的一组电子设备的界面示意图;
28.图2为本技术实施例提供的一种搜索方法适用的应用场景图;
29.图3为图2中的电子设备的软件示意图;
30.图4为图2中的电子设备的一组界面示意图;
31.图5为本技术实施例提供的一种电子设备的结构示意图;
32.图6为本技术实施例提供的一种电子设备的软件结构框图;
33.图7为本技术实施例提供的一种搜索方法的流程示意图;
34.图8为本技术实施例提供的另一种搜索方法的流程示意图;
35.图9为本技术实施例提供的又一种搜索方法的流程示意图;
36.图10为本技术实施例提供的又一种搜索方法的流程示意图;
37.图11为本技术实施例提供的又一种搜索方法的流程示意图;
38.图12为本技术实施例提供的又一种搜索方法的流程示意图;
39.图13为本技术实施例提供的又一种搜索方法的流程示意图。
具体实施方式
40.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本技术实施例中的技术方案进行详细的说明。
41.在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a
或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
42.在本技术实施例的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。另外,在本技术实施例的描述中,“至少一个”是指一个或者多个,“多个”是指两个或多于两个。
43.在本技术实施例中,电子设备可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等,本技术实施例对电子设备的具体类型不作任何限制。
44.在本技术实施例中,应用程序(application,app)为能够实现某一项或多项特定功能的软件程序。电子设备通常可以安装多个应用程序。例如,图库应用程序,相机应用程序等。下文提到的应用程序可以是电子设备出厂时厂商安装的系统应用程序,也可以是用户在使用过程中从网络下载或从去其他电子设备获取到的第三方应用程序。
45.通常用户可以在当前使用的电子设备中,利用负一屏上的搜索控件查找该电子设备内部存储的文件或信息(例如系统应用程序或第三方应用程序中的文件或信息等)。
46.示例性的,以当前使用的电子设备是手机为例,图1示出了一组手机的界面示意图。手机检测到用户作用于图1中的(a)所示的界面上向右滑动操作后,显示如图1中的(b)所示的界面10,应理解,界面10即为负一屏。图1中的(b)所示的界面10包括多种功能的系统应用程序,比如,天气与运动等小组件显示区域11、搜索栏12,应用推荐13、动态显示区域14等,此外,应理解,在一些实施例中,如图1中的(b)所示的界面中还可以包括智能提醒、语音助手等其他功能的系统应用程序。如图1中的(c)所示,手机接收用户在搜索栏12中的输入操作,获取用户输入的搜索信息为“简历”,并根据该搜索信息查找当前手机内部存储的文件或信息,得到如图1中的(d)所示的搜索结果。在图1的(d)所示的界面中,在本地文件对应的显示区域15中显示搜索到的与“简历”相关的文档“简历”、“个人简历”等。
47.随着技术的发展,还出现了一种应用场景。图2示出了本技术实施例提供的搜索方法适用的一种应用场景图。如图2所示,该应用场景包括:服务器200、电子设备201、电子设备202和电子设备203。
48.其中,服务器200能够与电子设备201、电子设备202和电子设备203进行信息交互。例如,电子设备201、电子设备202和电子设备203从服务器200获取系统认证账号信息,以便于电子设备201、电子设备202和电子设备203之间验证是否登陆同一系统认证账号。在一些实施例中,服务器200可以通过网络与电子设备201、电子设备202和电子设备203连接,服务器200也可以是位于网络侧的云服务器或服务器集群等。
49.应理解,电子设备201、电子设备202和电子设备203可以是各种不同类型的电子设备,比如可以包括:手机、笔记本电脑、平板电脑、智能电视、智能手表等。
50.应理解,电子设备201、电子设备202和电子设备203通过有线和/或无线的方式建立连接,电子设备201、电子设备202和电子设备203与服务器200之间可以通过有线和/或无线的方式建立连接。示例性的,电子设备201和电子设备202之间可以通过数据线建立连接。
电子设备202和电子设备203之间可以通过无线通信网络互联。该无线通信网络可以是局域网,可以是通过中继(relay)转接的广域网。
51.当该通信网络为局域网时,示例性的,该通信网络可以是无线保真(wireless fidelity,wi-fi)网络、蓝牙(bluetooth,bt)网络、zigbee网络或近距离无线通信技术(near field communication,nfc)等近距离通信网络。当该通信网络为广域网时,示例性的,该通信网络可以是第二代(2th generation,2g)通信技术,第三代(3th generation,3g)通信技术,第四代(4th generation,4g)通信技术,第五代(5th generation,5g)通信技术、未来演进的公共陆地移动网络(public land mobile network,plmn)或因特网等。
52.在图2所示的应用场景中,不同电子设备之间可以通过通信网络发送数据,例如,发送图片、文本、视频和音频等,或者电子设备对图片、文本、视频和音频等对应的搜索结果等。应理解,上述应用场景还可以包括更多的电子设备,本技术实施例对此不做任何限制。
53.下面结合图2、图3和图4,以电子设备201是手机、电子设备202是平板电脑、电子设备203是笔记本电脑,并且以用户当前使用的电子设备为手机为例,对用户使用手机实现搜索功能时,各个电子设备的工作流程进行示例性说明。
54.图3示出了图2中手机、平板电脑、笔记本电脑的软件结构。图4示出了图2和图3中用户所使用的手机的界面示意图。
55.当该手机检测到用户作用于图4中的(a)所示的界面上向右滑动操作后,显示如图4中的(b)所示的界面,图4中的(b)所示的界面与图1中的(b)所示的界面10相同,包括多种功能的系统应用程序,比如,天气与运动等小组件显示区域11、搜索栏12,应用推荐13、动态显示区域14等,此外,应理解,在一些实施例中,如图4中(b)所示的界面中也还可以包括智能提醒、语音助手等其他功能的系统应用程序。如图4中的(c)所示,手机接收用户在搜索栏12中的输入操作,获取到用户输入的搜索信息为“简历”,然后,根据该搜索信息,手机中的应用程序调用分布式搜索接口,启动相应的应用程序提供分布式搜索服务,以搜索手机内部与“简历”相关的文件或信息,再将搜索出的多个搜索结果按照与“简历”之间的相似度由高到低的顺序进行排序。
56.此外,基于手机和平板电脑、笔记本电脑可以进行通信,当手机获取到用户输入的搜索信息为“简历”时,可以将该搜索信息同时发送给平板电脑和笔记本电脑,并指示平板电脑和笔记本电脑也开始进行搜索。此时,根据该搜索信息,平板电脑中的应用程序也调用分布式搜索接口,启动相应的应用程序提供分布式搜索服务,以搜索平板电脑内部与“简历”相关的文件或信息,再将搜索出的多个搜索结果按照与“简历”之间的相似度由高到底的顺序进行排序,然后,再将排序后的搜索结果发送回手机。同理,根据该搜索信息,笔记本电脑中的应用程序也调用分布式搜索接口,启动相应的应用程序提供分布式搜索服务,以搜索笔记本电脑内部与“简历”相关的文件或信息,再将搜索出的多个搜索结果按照与搜索信息之间的相似度由高到低的顺序进行排序,然后,再将排序后的搜索结果发送回手机,手机将内部搜索到的搜索结果以及从平板电脑和笔记本电脑处分别接收到的搜索结果,按照各自对应的排列顺序进行显示,从而得到如图4中的(d)所示的搜索结果。
57.在图4的(d)所示的界面中,示例性的,在本地文件对应的显示框15中显示手机中搜索到的与“简历”相关的文档“简历”、“个人简历”等或其他信息,在平板电脑对应的显示区域16中显示搜索到的与“简历”相关的文档“简历1”等或其他信息,在笔记本电脑对应的
显示区域17中显示搜索到的与“简历”相关的文档“简历-new”或其他信息。或者,还可以在同一个区域显示所有搜索到的与“简历”相关的文档或其他信息,仅标明搜索来源于本地、平板电脑和笔记本电脑等。应理解,上述搜索结果的显示方式也可以为其他方式,本技术实施例对此不做任何限制。
58.基于上述两种搜索场景,在现有技术中,无论是像图1一样,在当前使用的电子设备中进行本地搜索,或者是像图2~图4一样,在多个电子设备之间进行分布式搜索,电子设备最终将搜索结果呈现给用户时,通常是将搜索结果按照与用户输入的搜索信息之间的相似度由高到低的顺序进行排序后,选择排序靠前(即,与搜索信息相似度较高)的一些搜索结果进行呈现的。虽然按照此方法可以为用户提供一些与搜索信息相似度较高的搜索结果,但是,搜索结果与搜索结果之间也通常非常相似,导致电子设备呈现给用户的搜索结果内容比较单一,无法为用户提供全面的、多样的搜索结果。
59.为此,一些厂商提出了另一种方法,例如,利用已训练的神经网络模型对搜索结果进行排序,来解决搜索结果单一的问题,但是,该方法使用的神经网络模型通常需要利用机器学习和深度学习方法对大量数据进行训练,如果数据量较小,训练出的神经网络模型在使用时搜索效果将不好,如果数据量较大,则对硬件要求较高,而实际应用中,大部分电子设备并不具备如此高的硬件条件。因此,亟待一种不需要复杂计算、没有过高硬件要求,且能有效解决搜索结果单一问题的方法。
60.有鉴于此,本技术实施例提供了一种搜索方法,通过获取对应于搜索信息包括的至少一个关键词的多个搜索结果,以及该多个搜索结果在电子设备的显示界面上的排列顺序,后续可以按照排列顺序在显示界面上显示该多个搜索结果。由于,在确定该多个搜索结果在电子设备的显示界面上的排列顺序时,先确定了每个搜索结果与搜索信息之间的相似度,将相似度最高的搜索结果作为第一搜索结果排在了其他n个搜索结果之前,然后,在确定该n个搜索结果在显示界面上的排列顺序时,考量了该n个搜索结果中任一搜索结果与搜索信息之间的相似度,以及任一搜索结果与多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果之间的差异度,所以,获取到的排列顺序既能满足用户的搜索意向,又能保证搜索结果与搜索结果之间的差异,从而解决了现有技术中的搜索结果单一的问题,实现了为用户提供全面的、多样的搜索结果的功能。
61.下面先介绍本技术实施例中涉及的电子设备。请参阅图5,图5是本技术实施例提供的电子设备100的结构示意图。
62.电子设备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等。
63.可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部
件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
64.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
65.其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
66.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
67.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
68.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备100的触摸功能。
69.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
70.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
71.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
72.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。
73.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
74.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
75.可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
76.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
77.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
78.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
79.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
80.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
81.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
82.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
83.在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
84.电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
85.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。
86.显示屏194可以用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graohical user interface,gui)。示例性的,显示屏194可以显示照片、视频、网页或者文件等。示例性的,显示器194可以显示如图1所示的图形用户界面和如图3所示的图形
用户界面。其中,如图1中的(a)所示的图形用户界面上包括状态栏21、天气和运动、健康信息显示区域22,以及应用的图标,例如浏览器图标23等。状态栏21包括运营商名称(例如中国移动)、移动网络(例如5g)、时间和剩余电量。
87.电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
88.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
89.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。
90.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
91.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
92.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
93.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
94.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。
95.内部存储器121还可以存储本技术实施例提供的搜索方法的代码。当内部存储器121存储的搜索方法被处理器110运行时,处理器110可以控制搜索结果在显示屏194上的显示。
96.此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
97.当然,本技术实施例提供的搜索方法的代码还可以存储在外部存储器中。这种情况下,处理器110可以通过外部存储器接口120运行存储在外部存储器中的搜索方法的代码,处理器110可以控制显示屏194上的负一屏显示不同电子设备的搜索结果。
98.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
99.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
100.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170a收听音乐,或收听免提通话。
101.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
102.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备100可以设置至少一个麦克风170c。在另一些实施例中,电子设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
103.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
104.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测所述触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
105.陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
106.气压传感器180c用于测量气压。在一些实施例中,电子设备100通过气压传感器
180c测得的气压值计算海拔高度,辅助定位和导航。
107.磁传感器180d包括霍尔传感器。电子设备100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
108.加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
109.距离传感器180f,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180f测距以实现快速对焦。
110.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180g检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
111.环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。
112.指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
113.温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
114.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
115.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
116.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
117.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
118.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
119.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。电子设备100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备100中,不能和电子设备100分离。
120.图6是本技术实施例的电子设备100的软件结构框图。
121.电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明电子设备100的软件结构。
122.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
123.应用程序层可以包括一系列应用程序包。
124.如图6所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
125.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
126.如图6所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
127.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
128.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
129.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
130.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,
挂断等)。
131.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
132.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
133.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
134.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
135.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
136.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
137.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
138.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
139.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
140.2d图形引擎是2d绘图的绘图引擎。
141.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
142.下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
143.当触摸传感器180k接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
144.下面结合图7对本技术实施例提供的搜索方法进行说明。图7示出了本技术实施例提供的一种搜索方法的流程示意图。
145.如图7所示,该搜索方法应用于上述图5和图6所示的电子设备100,该搜索方法包括s100~s200。
146.s100、电子设备100获取对应于搜索信息包括的至少一个关键词的多个搜索结果。
147.应理解,搜索信息用于表示用户通过搜索控件输入电子设备100中进行搜索的文本数据。其中,用户可以通过软键盘、语音、扫一扫等任意一种方式输入,也可以利用其它方
式输入,本技术实施例对此不进行任何限制。针对语音、扫一扫等输入方式输入的原始数据,可通过电子设备中预设的识别软件开发工具包,将输入的音频或图像等原始数据统一转换为文本数据。
148.此外,针对各种方式输入的文本数据还可以进行一些预处理,例如,可以进行分词、去停用词、同义词扩展等。
149.应理解,所谓分词指的是将连续的字序列按照一定的规范重新组合成词序列,搜索信息中的每个词序列称为一个关键词。其中,分词可以利用ikanalyzer、paoding、中文结巴分词工具或者是搜索引擎(例如lucene)自带的分词工具将搜索信息进行处理,例如,“机器价格”经过分词处理后,可以分为“机器”和“价格”两个关键词。
150.所谓去停用词指的是去除原始数据中的助词、虚词、标点符号等不重要的信息,仅保留相对重要的信息,可以提高搜索效率。
151.所谓同义词扩展指的是查询关键词的同义词,这样在搜索时,可以同时使用关键词的同义词进行搜索,从而可以扩大搜索的范围。
152.应理解,搜索结果指的是与用户输入的搜索信息相关联的文件或图片等信息,一个文件或一个图片为一个搜索结果。示例性的,电子设备可通过应用程序调用搜索接口,启动相应的应用程序提供搜索服务,以搜索电子设备内部与搜索信息相关的文件或其他信息,从而可以获取到对应于搜索信息包括的至少一个关键词的多个搜索结果。此时,应理解,电子设备获取到的对应于搜索信息包括的至少一个关键词的多个搜索结果还未进行任何排序处理,是无序状态。
153.应理解,当电子设备获取对应于搜索信息包括的至少一个关键词的多个搜索结果时,可进行去重处理,此时,获取到的多个搜索结果均不相同。其中,去重处理指的是如果多个搜索结果完全相同,则仅保留一个搜索结果,将其他与之相同的搜索结果均去除。
154.s200、电子设备100获取多个搜索结果在电子设备的显示界面上的排列顺序。
155.多个搜索结果中的第一搜索结果在显示界面上的排列顺序位于n个搜索结果在显示界面上的排列顺序之前。n为大于1的整数,n个搜索结果为多个搜索结果中除第一搜索结果外的搜索结果。其中,第一搜索结果与搜索信息之间的相似度高于n个搜索结果分别与搜索信息之间的相似度。
156.应理解,电子设备100获取到的对应于搜索信息的多个搜索结果数量为n+1个搜索结果,该n+1个搜索结果包括第一搜索结果和上述n个搜索结果。
157.应理解,相似度用于表示搜索结果与搜索信息之间相似的程度。例如,相似度的取值范围为0~1,1用于表示搜索结果与搜索信息之间完全相同,0用于表示搜索结果与搜索信息之间完全不同。此外,可以理解的是,与相似度相对的是差异度,差异度用于表示搜索结果与搜索信息之间相差的程度,其中,相似度与差异度之和为1。例如,搜索结果与搜索信息之间的相似度为0.6时,相应的,搜索结果与搜索信息之间的差异度即为0.4。
158.示例性的,当电子设备100获取到对应于搜索信息的多个搜索结果时,可以利用n-gram相似性算法、jaccard相似性算法等任意一种方法来确定每个搜索结果与搜索信息之间分别对应的相似度。
159.应理解,第一搜索结果与搜索信息之间的相似度高于n个搜索结果分别与搜索信息之间的相似度,也就是说,第一搜索结果与搜索信息之间的相似度是多个搜索结果分别
与搜索信息之间的相似度之中最高的。由此,将与搜索信息之间的相似度最高的搜索结果作为第一搜索结果,并将第一搜索结果在显示界面上的排列顺序排在n个搜索结果在显示界面上的排列顺序之前,即,相对于n个搜索结果,第一搜索结果排在显示界面上的第1位,相应的,n个搜索结果在显示界面上的排列顺序则排在第一搜索结果之后的第2位至第n+1位。
160.n个搜索结果在显示界面上的排列顺序对应于n个搜索结果中每个搜索结果的综合评分,n个搜索结果中的任一搜索结果的综合评分由任一搜索结果与搜索信息之间的相似度、以及任一搜索结果与多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果之间的差异度确定。
161.应理解,在显示界面上排列顺序位于任一搜索结果之前的搜索结果可以是第一搜索结果,也可以是位于任一搜索结果之前的n个搜索结果中的其他搜索结果。
162.由于第一搜索结果在显示界面上的排列顺序位于n个搜索结果在显示界面上的排列顺序之前,所以,当确定n个搜索结果中任一搜索结果与多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果之间的差异度时,也包括与第一搜索结果之间的差异度。
163.应理解,对于n个搜索结果中的任一搜索结果,确定该任一搜索结果与多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果之间的差异度时,可以先确定该任一搜索结果与多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果之间的相似度,然后,再通过确定1与相似度之间的差值,确定出对应的差异度。
164.可选地,作为一种可能的实现方式,n个搜索结果中综合评分高的搜索结果在显示界面上的排列顺序位于n个搜索结果中综合评分低的搜索结果在显示界面上的排列顺序之前。
165.也就是说,获取到的多个搜索结果中除第一搜索结果外的n个搜索结果,可以包括第二搜索结果和第三搜索结果,在第二搜索结果的综合评分高于第三搜索结果的综合评分的情况下,第二搜索结果在显示界面上的排列顺序位于第三搜索结果在显示界面上的排列顺序之前。
166.示例性的,若电子设备获取到对应于搜索信息的3个搜索结果,分别为a、b、c,且在电子设备的显示界面上的排列顺序为a、b、c,也就是说,a排列在b之前,b排列在c之前。那么,确定出第一搜索结果为a之后,b和c的排列顺序对应于b和c的综合评分,其中,b的综合评分是由b与搜索信息之间的相似度、以及b与a之间的差异度确定的;c的综合评分是由c与搜索信息之间的相似度、以及c与a之间的差异度确定的。由于b的综合评分高于c的综合评分,所以b在显示界面上的排列顺序位于c在显示界面上的排列顺序之前。
167.应理解,当多个搜索结果中,排列顺序位于n个搜索结果中任一搜索结果之前的搜索结果不同时,针对n个搜索结果中的任一搜索结果,所确定的综合评分将不同。
168.应理解,由于n个搜索结果中每个搜索结果的综合评分,即考量了该搜索结果与搜索信息之间的相似度,又考量了该搜索结果与排列顺序位于其之前的其他搜索结果的差异度,由此,在满足用户搜索意向的情况下,提高了搜索结果与搜索结果之间的不同,解决了现有技术中的搜索结果单一的问题,实现了为用户提供全面的、多样的搜索结果的功能。
169.本技术实施例提供了一种搜索方法,通过获取对应于搜索信息包括的至少一个关键词的多个搜索结果,以及该多个搜索结果在电子设备的显示界面上的排列顺序,后续可
以按照排列顺序在显示界面上显示该多个搜索结果。由于,在确定该多个搜索结果在电子设备的显示界面上的排列顺序时,先确定了每个搜索结果与搜索信息之间的相似度,将相似度最高的搜索结果作为第一搜索结果排在了其他n个搜索结果之前,然后,在确定该n个搜索结果在显示界面上的排列顺序时,考量了该n个搜索结果中任一搜索结果与搜索信息之间的相似度,以及任一搜索结果与多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果之间的差异度,所以,获取到的排列顺序既能满足用户的搜索意向,又能保证搜索结果与搜索结果之间的差异,从而解决了现有技术中的搜索结果单一的问题,实现了为用户提供全面的、多样的搜索结果的功能。
170.可选地,作为一种可能的实现方式,多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果为第一搜索结果。
171.应理解,由于排列顺序位于n个搜索结果中的任一搜索结果之前的搜索结果仅为第一搜索结果,所以,对应确定任一搜索结果与排列顺序位于任一搜索结果之前的搜索结果之间的差异度时,仅需要考虑任一搜索结果与第一搜索结果之间的差异度。此时,由于确定差异度时考虑了第一搜索结果的影响,因此,获取的多个搜索结果的排列顺序在满足用户的搜索意向的同时,可以保证均与第一搜索结果具有一定差异。
172.示例性的,若电子设备获取到对应于搜索信息的4个搜索结果,分别为a、b、c和d。那么,确定出第一搜索结果为a之后,b、c和d的排列顺序对应于b、c和d的综合评分,此时,排列顺序位于b、c和d之前的搜索结果为第一搜索结果a。那么,在确定b、c和d的综合评分时,仅考虑与第一搜索结果a之间的差异度。例如,b的综合评分是由b与搜索信息之间的相似度、以及b与a之间的差异度确定的;c的综合评分是由c与搜索信息之间的相似度、以及c与a之间的差异度确定的;d的综合评分是由d与搜索信息之间的相似度、以及d与a之间的差异度确定的。若b的综合评分大于c的综合评分,c的综合评分大于d的综合评分,则在电子设备的显示界面上的排列顺序为a、b、c、d。
173.可选地,作为一种可能的实现方式,多个搜索结果中排列顺序位于任一搜索结果之前的搜索结果包括第一搜索结果以及n个搜索结果中排列顺序位于任一搜索结果之前的至少一个搜索结果。
174.应理解,由于排列顺序位于n个搜索结果中的任一搜索结果之前的搜索结果既包括第一搜索结果又包括n个搜索结果排列顺序位于任一搜索结果之前的至少一个搜索结果,所以,对应确定任一搜索结果与排列顺序位于任一搜索结果之前的搜索结果之间的差异度时,不仅需要考虑任一搜索结果与第一搜索结果之间的差异度,还需要考虑任一搜索结果与n个搜索结果中排列顺序位于任一搜索结果之前的至少一个搜索结果之间的差异度。此时,由于确定差异度时既考虑了第一搜索结果的影响,又考虑了n个搜索结果中排列顺序在任一搜索结果之前的其他搜索结果的影响,因此,获取的多个搜索结果的排列顺序在满足用户的搜索意向的同时,可以保证与排列顺序在先的每一个搜索结果都具有一定差异。
175.示例性的,若电子设备获取到对应于搜索信息的5个搜索结果,分别为a、b、c、d和e。那么,确定出第一搜索结果为a、排列顺序位于a之后的搜索结果为b时,c、d和e的排列顺序对应于c、d和e的综合评分。此时,排列顺序位于c、d和e之前的搜索结果为第一搜索结果a、搜索结果b,那么,在确定c、d和e的综合评分时,需要同时考虑与第一搜索结果a、以及与
搜索结果b之间的差异度。例如,c的综合评分是由c与搜索信息之间的相似度、以及c与a之间的差异度、c与b之间的差异度确定的;d的综合评分是由d与搜索信息之间的相似度、以及d与a之间的差异度、d与b之间的差异度确定的;e的综合评分是由e与搜索信息之间的相似度、以及e与a之间的差异度、e与b之前的差异度确定的。若e的综合评分大于c和d的综合评分,则e在电子设备的显示界面上的排列顺序将位于c和d之前。
176.基于此,在确定出第一搜索结果为a、排列顺序位于a之后的搜索结果为b、排列顺序位于b之后的搜索结果为e时,c和d排列顺序对应于c和d再次确定的综合评分。此时,排列顺序位于c和d之前的搜索结果变为第一搜索结果a、搜索结果b和搜索结果e,那么,再次确定c和d的综合评分时,需要同时考虑与第一搜索结果a、搜索结果b以及搜索结果e之间的差异度。例如,c的综合评分是由c与搜索信息之间的相似度、以及c与a之间的差异度、c与b之间的差异度、c与e之间的差异度确定的;d的综合评分是由d与搜索信息之间的相似度、以及d与a之间的差异度、d与b之间的差异度、d与e之间的差异度确定的。若d的综合评分大于c的综合评分,则d在电子设备的显示界面上的排列顺序将位于c之间。也就是说,在显示界面上的排列顺序为a、b、e、d、c。
177.可选地,作为一种可能的实现方式,当搜索信息包括多个关键词时,该搜索方法还包括:
178.按照多个关键词的输入顺序为多个关键词分配对应的搜索权重。
179.应理解,由于关键词的输入顺序与用户的搜索意向具有一定相关性,通常输入顺序越靠前的关键词对应的用户的搜索意向越强烈,由此,可以对输入顺序靠前的关键词分配较大的搜索权重,对输入顺序靠后的关键词分配较小的搜索权重,从而可以提高搜索的准确性。当然,搜索权重的大小也可以按照其他方式进行分配,本技术实施例对此不进行任何限制。其中,多个关键词分配的搜索权重之和应为1。
180.可选地,作为一种可能的实现方式,当搜索信息包括多个关键词时,该搜索方法还包括:
181.电子设备100根据多个搜索结果中的每个搜索结果、搜索信息以及搜索信息包括的多个关键词分别对应的搜索权重,确定多个搜索结果分别与搜索信息之间的相似度。
182.示例性的,假设用户输入的搜索信息为“机器学习”,分词后“机器学习”被划分为“机器”和“学习”两个关键词,由于“机器”的输入顺序靠前,“学习”的输入顺序靠后,例如,电子设备100给“机器”分配的搜索权重可以为0.7,给“学习”分配的搜索权重可以为0.3。由此,根据相似性算法确定搜索结果与搜索信息“机器学习”之间的相似度时,需结合搜索结果、搜索信息以及搜索信息中“机器”对应的搜索权重0.7和“学习”对应的搜索权重0.3进行确定。
183.可选地,作为一种可能的实现方式,图8示出了另一种搜索方法的流程示意图,如图8所示,该搜索方法还包括:
184.s210、电子设备100确定n个搜索结果中每个搜索结果的综合评分,并将n个搜索结果中的综合评分最高的搜索结果作为在显示界面上排列顺序排在第一搜索结果之后的第1+i位的搜索结果,i大于或者等于1。
185.应理解,第一搜索结果为在显示界面上排列顺序排在第1位的搜索结果,n个搜索结果在显示界面上的排列顺序为排在第一搜索结果之后的第2位至第1+n位的搜索结果。
186.应理解,由于确定排列顺序排在第一搜索结果之后的第2位的搜索结果时,还未有其他搜索结果,因此,在确定综合评分时仅需考虑第一搜索结果的影响;当确定排列顺序排在第一搜索结果之后的第3位至第n+1位的搜索结果时,已确定出了n个搜索结果中至少一个搜索结果的排列顺序,因此,需要考虑第一搜索结果以及n个搜索结果中排列顺序在先的至少一个搜索结果的影响。
187.应理解,综合评分最高的搜索结果指的是此次执行s110确定综合评分时,当前n个搜索结果确定出综合评分后,从这些搜索结果中筛选出的最高综合评分所对应的搜索结果。当n个搜索结果改变时,确定出的综合评分不同,确定出的综合评分最高的搜索结果也不同。
188.s220、重复执行确定n个搜索结果中每个搜索结果的综合评分,并将n个搜索结果中的综合评分最高的搜索结果作为在显示界面上排列顺序排在第一搜索结果之后的第1+i位的搜索结果的步骤,且每执行一次步骤n减少1,i增加1,直至n为0。
189.其中,每次减少的搜索结果为上一次已确定出排列顺序的位置的搜索结果。
190.应理解,每次减少的搜索结果为上一次已确定出排列顺序的位置的搜索结果,则下一次执行s210时,确定的是上一次剩余的未确定出排列顺序的搜索结果的综合评分。
191.基于此,每多执行一次s210,就多确定出1个搜索结果的排列顺序,相应的就减少1个未确定出排列顺序的搜索结果。也就是说,当已确定出排列顺序的搜索结果的个数发生变化时,相应的,未确定出排列顺序的搜索结果的个数也发生变化,由此,下一次执行s210并按照评分规则确定的综合评分也会随之发生变化。直至执行多次s210之后,所有搜索结果均已确定出排列顺序的搜索结果,无剩余的搜索结果,即n为0时,循环结束。
192.由于确定综合评分时,考虑了搜索结果与搜索信息之间的相似度,以及搜索结果与其他排列顺序在先的搜索结果之间的差异度,因此,相对于现有技术,本技术实施例提供的方法可以增加搜索结果的全面性、多样性,避免搜索结果单一。
193.示例性的,假设用户输入的搜索信息为“机器”,根据“机器”搜索到100个搜索结果,将该100个搜索结果进行排序。
194.首先,进行第一次筛选,确定100个搜索结果中每个搜索结果与搜索信息“机器”之间对应的相似度,将该100个搜索结果中对应相似度最高的搜索结果,作为第一搜索结果。
195.然后,进行第二次筛选,确定除过第一搜索结果之外的99个搜索结果中,每个搜索结果对应的综合评分,将该99个搜索结果中,综合评分最高的搜索结果作为在显示界面上排列顺序排在第一搜索结果之后的第2位的搜索结果。其中,此次确定综合评分时,该99个搜索结果中的每个搜索结果的综合评分是由该搜索结果与搜索信息“机器”之间的相似度,以及该搜索结果与第一搜索结果之间的差异度确定的。
196.进行第三次筛选,确定除过第一搜索结果、第2位的搜索结果之外的98个搜索结果中,每个搜索结果对应的综合评分,将该98个搜索结果中,综合评分最高的搜索结果作为在显示界面上排列顺序排在第2位的搜索结果之后的第3位的搜索结果。其中,此次确定综合评分时,该98个搜索结果中的每个搜索结果的综合评分是由该搜索结果与搜索信息“机器”之间的相似度,以及该搜索结果与第一搜索结果的差异度、该搜索结果与第2位的搜索结果的差异度确定的。
197.依次类推,每重复一次,增加一个确定出排列顺序的位置的搜索结果,相应的,减
少1个确定排列顺序的位置的搜索结果。重复多次,直至全部的搜索结果确定出排列顺序。这样,该100个搜索结果在显示时,可以按照确定出的排列顺序的先后位置进行显示。
198.此外,在一些实施例中,循环至待排序序列中仅剩一个搜索结果时,可以不再计算该搜索结果对应的综合评分,直接将该搜索结果作为排列顺序位于最后一位的搜索结果,从而可以减小计算量,提高处理效率。
199.可选地,作为一种可能的实现方式,图9示出了另一种搜索方法的流程示意图,如图9所示,上述s210中的电子设备100确定n个搜索结果中每个搜索结果的综合评分,包括s211~s213。
200.s211、针对n个搜索结果中的第m个搜索结果,确定第m个搜索结果与搜索信息之间的相似度对应的相似性权重。
201.s212、确定第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度,并确定第m个搜索结果与每个已确定出排列顺序的搜索结果之间的差异度对应的差异度权重,其中,已确定出排列顺序的位置的搜索结果包括第一搜索结果。
202.s213、根据第m个搜索结果与搜索信息之间的相似度、相似度对应的相似性权重,第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度、以及差异度对应的差异度权重,确定第m个搜索结果的综合评分。
203.应理解,确定第m个搜索结果的综合评分时,第m个搜索结果与搜索信息之间对应的相似度越高,相应的综合评分越高;第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间分别对应的差异度越高,该第m个搜索结果对应的综合评分将越高。
204.应理解,通过分配相似性权重和差异度权重,可以在确定综合评分时,调整搜索结果与搜索信息之间的相似度、以及搜索结果与其他已确定出排列顺序的位置的搜索结果之间的差异度两者之间所占的比重,保证搜索结果之间具有差异度的同时依然能满足用户的搜索意向。
205.示例性的,假设用户输入的搜索信息为“机器人”,根据“机器人”搜索到5个搜索结果,分别为a、b、c、d、e。
206.第一步,确定待排序序列中a、b、c、d、e该5个搜索结果中每个搜索结果与搜索信息“机器人”之间对应的相似度。假设a、b、c、d、e对应的相似度分别为0.5、0.6、0.8、0.3、1,则相似度最高的搜索结果e选出,作为第一搜索结果,即e对应的排列顺序的位置为第1位。
207.第二步,确定除第一搜索结果之外的a、b、c、d,4个搜索结果中每个搜索结果与第一搜索结果e之间的差异度。假设a、b、c、d与第一搜索结果e之间的差异度分别为0.7、0.2、0.9、0.1。针对搜索结果a,根据a与搜索信息之间的相似度0.5以及a与第一搜索结果e之间的差异度0.7,以及相似性权重0.4、差异度权重0.6,则可以确定出a的综合评分为0.62。同理,可确定出b的综合评分为0.36,c的综合评分为0.86,d的综合评分为0.18。由此,将此次综合评分最高的c作为排列顺序位于第一搜索结果之后的第2位的搜索结果,即,c的排列顺序的位置为第2位。
208.第三步,除第二次确定出排列顺序的位置的c之外,再次确定a、b、d该3个搜索结果中每个搜索结果与搜索结果c之间的差异度,例如,假设a、b、d与第2位的搜索结果c之间差异度分别为0.2、0.3、0.4。针对搜索结果a,根据a与搜索信息之间对应的相似度0.5以及a与第一搜索结果e之间的差异度0.7,以及a与第2位的搜索结果c之间的差异度0.2,以及相似
性权重0.4、差异度权重0.6,则可以确定出a对应的综合评分为0.74。同理,可确定出b的综合评分为0.54,d的综合评分为0.42。由此,将此次综合评分最高的a作为排列顺序位于第一搜索结果之后的第3位的搜索结果,即,a的排列顺序的位置为第3位。
209.在上述基础上,同理可继续对剩余的b和d进行排序。
210.可选地,作为一种可能实现的方式,第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度对应的差异度权重均相同。
211.应理解,确定第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异程度时,可以认为每个已确定出排列顺序的位置的搜索结果对第m个搜索结果的影响大小是一样的,因此,对第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度可以分配相同的差异度权重。
212.应理解,对第m个搜索结果与搜索信息之间对应的相似度分配的相似性权重和对第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度分配的差异度权重之和应为1。
213.示例性的,第m个搜索结果与搜索信息之间对应的相似度对应的相似性权重为0.6,而第m个搜索结果与第一搜索结果之间的差异度对应的差异度权重为0.4,第m个搜索结果与其他已确定出排列顺序的位置的搜索结果之间的差异度对应的差异度权重也为0.4。
214.可选地,作为另一种可能实现的方式,第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度对应的差异度权重,按照已确定出排列顺序的位置的搜索结果的排列顺序递增或者递减。
215.应理解,第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度对应的差异度权重可以不同。这样,在考量第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的差异度时,可以针对不同的已确定出排列顺序的位置的搜索结果调整对应的差异度所占比重,使得不同的已确定出排列顺序的位置的搜索结果对第m个搜索结果的影响不同,提高搜索结果之间的差异差距。
216.当然,第m个搜索结果与每个已确定出排列顺序的位置的搜索结果之间的差异度对应的差异度权重还可以按照其他规则进行分配,具体可以根据需要进行设置和更改,本技术实施例对此不进行任何限制。
217.可选地,作为一种可能的实现方式,图10示出了又一种搜索方法的流程示意图,如图10所示,上述s212中包括s2121~s2123。
218.s2121、针对每个已确定出排列顺序的位置的搜索结果,当第m个搜索结果包括多种预设属性时,确定在每种预设属性下第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度。
219.其中,属性差异度评分用于表示在预设属性下,第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的差异度。
220.应理解,若第m个搜索结果包括多种预设属性,针对每种预设属性,确定第m个搜索结果与已确定出排列顺序的搜索结果之间对应的属性差异度,从而可以细化考量第m个搜索结果与已确定出排列顺序的搜索结果在各个方面的差异度。
221.可选地,当第m个搜索结果为文档时,预设属性包括名称、作者、内容中的至少两
种。当然,预设属性还可以包括其他项目,具体可以根据需要进行设置和更改,本技术实施例对此不进行任何限制。
222.此外,第m个搜索结果还可以为图片、音频、视频等其他类型的数据,此时,分别对应的预设属性所包括的项目也可以根据需要进行设置和更改,本技术实施例对此不进行任何限制。
223.应理解,针对每种预设属性,可以利用与确定相似度相同的算法确定出第m个搜索结果与已确定出排列顺序的搜索结果之间对应的属性相似度,然后再计算得到对应的属性差异度。其中,属性相似度与属性差异度之和为1。
224.示例性的,第m个搜索结果为文档,针对名称这一预设属性,确定出第m个搜索结果与已确定出排列顺序的位置的搜索结果(例如第2位的搜索结果)之间对应的属性相似度为0.78,然后,基于属性相似度和属性差异度之和为1,则可确定出第m个搜索结果与第2位的搜索结果之间对应的属性差异度为0.22。
225.s2122、确定每种预设属性下第m个搜索结果与已确定出排列顺序的位置的的搜索结果之间的属性差异度对应的属性权重。
226.可选地,作为一种可能实现的方式,每种预设属性下,第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度对应的属性权重均相同。
227.应理解,每种预设属性下,第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度对应的属性权重之和为1。
228.示例性的,第m个搜索结果为文档,预设有名称、作者两个预设属性,则针对名称这一预设属性下,对第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度分配的属性权重为0.5;针对作者这一预设属性下,对第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度分配的属性权重也为0.5。
229.可选地,作为另一种可能实现的方式,每种预设属性下,第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度对应的属性权重均不同。
230.应理解,当第m个搜索结果包括多种预设属性时,每种预设属性对确定第m个搜索结果与已确定出排列顺序的位置的搜索结果的属性差异度的影响不一定相同,由此,可以通过分配不同的属性权重,来调整每种预设属性所占的影响比重,保证第m个搜索结果与已确定出排列顺序的位置的搜索结果之间每方面都具有差异度且影响不同。
231.示例性的,第m个搜索结果为图片,预设有名称、摄像机型号、拍照日期三个预设属性,则针对名称这一预设属性下,对第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度分配的差异度权重为0.6;针对摄像机型号这一预设属性下,对第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度分配的属性权重为0.1;针对拍照日期这一预设属性下,对第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度分配的差异度权重为0.3。
232.s2123、根据在每种预设属性下第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异度,以及对属性差异度对应的属性权重,确定第m个搜索结果与已确定出排列顺序的位置的搜索结果之间对应的差异度。
233.示例性的,第m个搜索结果为文档,包括名称和作者两个预设属性。针对名称这一预设属性,确定出第m个搜索结果与已确定出排列顺序的位置的搜索结果之间的属性差异
度为0.4,并且,对应分配的属性权重为0.5;针对作者这一预设属性,确定出第m个搜索结果与已确定出排列顺序的位置的搜索结果之间对应的属性差异度为0.3,并且,对应分配的属性权重为0.5。
234.由此,根据第m个搜索结果与已确定出排列顺序的位置的搜索结果之间在名称、作者这两种预设属性下分别对应的属性差异度0.4、0.3,以及分配的属性权重0.5,可以计算得到第m个搜索结果与已确定出排列顺序的位置的搜索结果之间对应的差异度为0.35。
235.可选地,作为一种可能的实现方式,图11示出了本技术实施例提供的另一种搜索方法的流程示意图,该搜索方法可以适用于图2的应用场景中。如图11所示,s100可以包括s101~s104。
236.s101、电子设备100检测搜索信息。
237.其中,搜索信息包括至少一个关键词。
238.s102、电子设备100向至少一个第三电子设备发送搜索信息。
239.应理解,第三电子设备可以为手机、平板电脑、可穿戴设备、车载设备等,本技术实施例对第三电子设备的具体类型不作任何限制。第三电子设备的类型和电子设备100的类型可以相同,也可以不相同。
240.s103、第三电子设备接收到搜索信息后,获取对应于搜索信息包括的至少一个关键词的多个搜索结果,并将该多个搜索结果发送给电子设备100。
241.s104、电子设备100接收来自至少一个第三电子设备的对应于搜索信息包括的至少一个关键词的多个搜索结果。
242.应理解,第三电子设备根据搜索信息获取到多个搜索结果与电子设备100根据搜索信息获取到的搜索结果也有可能重复,因此,当电子设备100接收到来自至少一个第三电子设备的对应于搜索信息的多个搜索结果时,可与电子设备100自身获取到的多个搜索结果进行比对,进行去重处理。
243.基于此,在s200中,电子设备100获取多个搜索结果在电子设备的显示界面上的排列顺序时,该多个搜索结果包括电子设备100本地检索到的搜索结果,和/或,至少一个第三电子设备发送给电子设备100的搜索结果。由此,通过电子设备获取至少一个第三电子设备上的搜索结果,可实现分布式搜索,扩大搜索范围。方便用户搜索其他电子设备,扩大搜索范围。
244.可选地,作为一种可能的实现方式,图12示出了本技术实施例提供的另一种搜索方法的流程示意图,该搜索方法可以适用于图2的应用场景中。在s100之后,在s200之前,如图12所示,该搜索方法还包括s110~s120。
245.s110、电子设备100向至少一个第一电子设备发送多个搜索结果。
246.应理解,第一电子设备可以为手机、平板电脑、可穿戴设备、车载设备等,本技术实施例对第一电子设备的具体类型不作任何限制。第一电子设备的类型和电子设备100的类型、第三电子设备的类型可以相同,也可以不相同。
247.应理解,电子设备100向至少一个第一电子设备发送的多个搜索结果,包括电子设备100本地检索到的多个搜索结果,和/或,从至少一个第三电子设备接收到的多个搜索结果。
248.s120、第一电子设备接收多个搜索结果,确定该多个搜索结果在电子设备的显示
界面上的排列顺序,并将排列顺序发送给电子设备100。
249.此处,由第一电子设备来对多个搜索结果进行处理,可以减轻电子设备100的计算功耗,降低对电子设备100的硬件要求。
250.相应的,如图12所示,上述s200则为:
251.电子设备100接收来自至少一个第一电子设备发送的多个搜索结果在电子设备的显示界面上的排列顺序。
252.可选地,作为另一种可能实现的方式,图13示出了本技术实施例提供的另一种搜索方法的流程示意图,该搜索方法也可以适用于图2的应用场景中,如图13所示,s100可以包括s1001~s1005。
253.s1001、电子设备100检测搜索信息。
254.其中,搜索信息包括至少一个关键词。
255.s1002、电子设备100向至少一个第三电子设备发送搜索信息。
256.s1003、第三电子设备接收到搜索信息后,获取对应于搜索信息包括的至少一个关键词的多个搜索结果,并将多个搜索结果发送给电子设备100。
257.s1004、第三电子设备获取多个搜索结果在电子设备100的显示界面上的排列顺序,并将该多个搜索结果在电子设备100的显示界面上的排列顺序发送给电子设备100。
258.应理解,第三电子设备获取多个搜索结果在电子设备100的显示界面上的排列顺序,与电子设备100获取多个搜索结果在电子设备100的显示界面上的排列顺序的方法相同。
259.s1005、电子设备100接收来自至少一个第三电子设备发送的多个搜索结果以及该多个搜索结果在电子设备的显示界面上的排列顺序。
260.示例性的,如图2所示,电子设备100以手机为例,第三电子设备以平板电脑和笔记本电脑为例,手机检测搜索信息,并向平板电脑和笔记本电脑发送搜索信息,平板电脑接收到搜索信息后获取对应于搜索信息包括的至少一个关键词的多个搜索结果,例如为p1~pm,m为大于或者等于1的正整数,同时,平板电脑获取多个搜索结果p1~pm在电子设备的显示界面上的第一排列顺序,并将该第一排列顺序发送给手机。
261.同理,笔记本电脑获取对应于搜索信息包括的至少一个关键词的多个搜索结果,例如为q1~qn,n为大于或者等于1的正整数,同时,笔记本电脑获取多个搜索结果q1~qn在电子设备的显示界面上的第二排列顺序,并将该第二排列顺序发送给手机。
262.基于此,手机在显示时可以分区域显示,例如,在显示界面上的第一区域,按第一排列顺序显示从平板电脑获取到的多个搜索结果p1~pm,在显示界面上的第二区域,按第二排列顺序显示从笔记本电脑获取到的多个搜索结果q1~qn。
263.可选地,作为一种可能的实现方式,在s200之后,该搜索方法还包括:根据多个搜索结果对应的排列顺序,在电子设备的显示界面上显示多个搜索结果。
264.应理解,当电子设备100的显示界面上的显示区域有限时,可以根据需要设定显示的搜索结果的个数,并从第一搜索结果开始按排列顺序截取出预设个数的搜索结果进行显示。
265.应理解,上述多个搜索结果包括从电子设备100中获取到的多个搜索结果,和/或,至少一个第三电子设备获取到的多个搜索结果,因此,电子设备100可以根据从电子设备10
中获取到的多个搜索结果,和/或,至少一个第三电子设备获取到的多个搜索结果共同组成的多个搜索结果所对应的排列顺序进行显示,或者,电子设备100还可以根据电子设备100中获取到的多个搜索结果对应的排列顺序,每个第三电子设备获取到的多个搜索结果所对应的排列顺序,在电子设备100的显示界面上分区域进行显示。
266.可选地,作为一种可能的实现方式,在s200之后,该搜索方法还包括:
267.电子设备100向至少一个第二电子设备发送多个搜索结果在电子设备100的显示界面上的排列顺序。
268.应理解,第二电子设备可以为手机、平板电脑、可穿戴设备、车载设备等,本技术实施例对第二电子设备的具体类型不作任何限制。第二电子设备的类型和电子设备100的类型、第三电子设备、第一电子设备的类型可以相同,也可以不相同。
269.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述搜索方法。
270.本技术实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述搜索方法。
271.本技术实施例还提供一种电子设备,包括:处理器;
272.处理器执行存在存储器中的计算机程序,实现如本技术实施例所述的搜索方法。
273.应理解,本技术实施例提供额显示屏包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。
274.应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
275.应理解,本技术实施例中的处理器可以为中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或上述提到的处理器也可以是一个或多个用于控制上述的信号
传输方法的程序执行的集成电路。该处理单元和该存储单元可以解耦,分别设置在不同的物理设备上,通过有线或者无线的方式连接来实现该处理单元和该存储单元的各自的功能,以支持该系统芯片实现上述实施例中的各种功能。或者,该处理单元和该存储器也可以耦合在同一个设备上。
276.应理解,上述只是为了帮助本领域技术人员更好地理解本技术实施例,而非要限制本技术实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述搜索方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本技术实施例的范围内。
277.还应理解,上文对本技术实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
278.还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
279.还应理解,本技术实施例中,“预先设定”、“预先定义”可以通过在设备(例如,包括终端和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本技术对于其具体的实现方式不做限定。
280.还应理解,本技术实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
281.还应理解,在本技术的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
282.最后应说明的是:以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1