检索处理方法、装置及存储介质与流程

文档序号:23728740发布日期:2021-01-26 18:54阅读:78来源:国知局
检索处理方法、装置及存储介质与流程

[0001]
本申请涉及信息处理技术领域,尤其涉及一种检索处理方法、装置及存储介质。


背景技术:

[0002]
随着电子产品(如手机、平板电脑等等)的大量普及应用,电子产品能够支持的应用越来越多,功能越来越强大,电子产品向着多样化、个性化的方向发展,电子产品对用户的重要性可想而知,显然电子产品已成为用户生活中不可缺少的电子用品。以手机为例,现有的搜索功能较为单一,且针对多个搜索结果时,无法智能展示。


技术实现要素:

[0003]
本申请实施例提供一种检索处理方法、装置及存储介质,能够实现检索功能,能够实现检索功能,提升用户体验。
[0004]
第一方面,本申请实施例提供一种检索处理方法,应用于电子设备,所述方法包括:
[0005]
获取输入的检索词;
[0006]
对所述检索词进行处理,得到查询表达式;
[0007]
依据所述检索词进行数据收集,得到目标数据;
[0008]
依据所述目标数据更新预设索引表,得到第一索引表;
[0009]
依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果。
[0010]
第二方面,本申请实施例提供一种检索处理装置,应用于电子设备,所述装置包括:获取单元、处理单元、收集单元、更新单元和搜索单元,其中,
[0011]
所述获取单元,用于获取输入的检索词;
[0012]
所述处理单元,用于对所述检索词进行处理,得到查询表达式;
[0013]
所述收集单元,用于依据所述检索词进行数据收集,得到目标数据;
[0014]
所述更新单元,用于依据所述目标数据更新预设索引表,得到第一索引表;
[0015]
所述搜索单元,用于依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果。
[0016]
第三方面,本申请实施例提供一种电子设备,所述电子设备包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求第一方面任一项所述的方法中的步骤的指令。
[0017]
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
[0018]
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一
个软件安装包。
[0019]
实施本申请实施例,具备如下有益效果:
[0020]
可以看出,在本申请实施例中所描述的检索处理方法、装置及存储介质,应用于电子设备,获取输入的检索词,对检索词进行处理,得到查询表达式,依据检索词进行数据收集,得到目标数据,依据目标数据更新预设索引表,得到第一索引表,依据查询表达式对第一索引表进行查询,得到至少一个搜索结果,如此,一方面,能够更新待搜索数据,另一方面,能够将检索词转化为查询表达式,进而,能够实现检索功能,提升了用户体验。
附图说明
[0021]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]
图1是本申请实施例提供的一种电子设备的结构示意图;
[0023]
图2是本申请实施例提供的一种电子设备的软件结构示意图;
[0024]
图3a是本申请实施例提供的一种检索处理方法的流程示意图;
[0025]
图3b是本申请实施例提供的另一种检索处理方法的流程示意图;
[0026]
图3c是本申请实施例提供的分词处理过程的演示示意图;
[0027]
图3d是本申请实施例提供的另一种检索处理方法的流程示意图;
[0028]
图3e是本申请实施例提供的归并树结构的演示示意图;
[0029]
图4是本申请实施例提供的另一种检索处理方法的流程示意图;
[0030]
图5是本申请实施例提供的一种电子设备的结构示意图;
[0031]
图6a是本申请实施例提供的一种检索处理装置的功能单元组成框图;
[0032]
图6b是本申请实施例提供的一种检索处理装置的功能单元组成框图。
具体实施方式
[0033]
下面将结合附图,对本申请实施例中的技术方案进行描述。
[0034]
为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。
[0035]
电子设备可以包括各种超宽带(ultra wide band,uwb)模块的设备,例如,智能手机、车载设备(导航仪、行车记录仪、雷达测距仪、etc支付装载等等)、可穿戴设备、智能手表、基站设备、标签设备、对讲机、智能眼镜、无线蓝牙耳机、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,ue),移动台(mobile station,ms),虚拟现实/增强现实设备,终端设备(terminal device)等等。
[0036]
第一部分,本申请所公开的技术方案的软硬件运行环境介绍如下。
[0037]
如图所示,图1示出了电子设备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等。
[0038]
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0039]
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器ap,调制解调处理器,图形处理器gpu,图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器npu等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备101也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在其他一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。示例性地,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。这样就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备101处理数据或执行指令的效率。
[0040]
在一些实施例中,处理器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)接口、sim卡接口和/或usb接口等。其中,usb接口130是符合usb标准规范的接口,具体可以是mini usb接口、micro usb接口、usb type c接口等。usb接口130可以用于连接充电器为电子设备101充电,也可以用于电子设备101与外围设备之间传输数据。该usb接口130也可以用于连接耳机,通过耳机播放音频。
[0041]
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0042]
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
[0043]
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110、内部存储器121、外部存储器、显示屏194、摄像头193和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量、电池循环次数、电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块
140也可以设置于同一个器件中。
[0044]
电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。
[0045]
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0046]
移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g/6g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0047]
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络)、蓝牙(blue tooth,bt),全球导航卫星系统(global navigation satellite system,gnss)、调频(frequency modulation,fm)、近距离无线通信技术(near field communication,nfc)、红外技术(infrared,ir)、uwb模块等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0048]
电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
[0049]
显示屏194用于显示图像、视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled)、柔性发光二极管(flex light-emitting diode,fled)、迷你发光二极管(mini light-emitting diode,miniled)、microled、micro-oled、量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备100可以包括1个或多个显示屏194。
[0050]
电子设备100可以通过isp、摄像头193、视频编解码器、gpu、显示屏194以及应用处理器等实现拍摄功能。
[0051]
isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点、亮度、肤色进行算法优化。isp还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
[0052]
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元
件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或多个摄像头193。
[0053]
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0054]
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1、mpeg2、mpeg3、mpeg4等。
[0055]
npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别、人脸识别、语音识别、文本理解等。
[0056]
外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0057]
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备101执行本申请一些实施例中所提供的显示页面元素的方法,以及各种应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用(比如图库、联系人等)等。存储数据区可存储电子设备101使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,ufs)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备101执行本申请实施例中所提供的显示页面元素的方法,以及其他应用及数据处理。电子设备100可以通过音频模块170、扬声器170a、受话器170b、麦克风170c、耳机接口170d、以及应用处理器等实现音频功能。例如音乐播放、录音等。
[0058]
传感器模块180可以包括压力传感器180a、陀螺仪传感器180b、气压传感器180c、磁传感器180d、加速度传感器180e、距离传感器180f、接近光传感器180g、指纹传感器180h、温度传感器180j、触摸传感器180k、环境光传感器180l、骨传导传感器180m等。
[0059]
其中,压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号
计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
[0060]
陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即x、y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
[0061]
加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
[0062]
环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。
[0063]
指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0064]
温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
[0065]
触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
[0066]
示例性的,图2示出了电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
[0067]
如图2所示,应用程序层可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
[0068]
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
[0069]
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0070]
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状
态栏,锁定屏幕,截取屏幕等。
[0071]
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0072]
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0073]
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0074]
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0075]
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0076]
android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
[0077]
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0078]
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0079]
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
[0080]
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
[0081]
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
[0082]
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0083]
2d图形引擎是2d绘图的绘图引擎。
[0084]
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0085]
第二部分,本申请实施例所公开的检索处理方法及装置介绍如下。
[0086]
本申请提供了请参阅图3a,图3a是本申请实施例提供的一种检索处理方法的流程示意图,应用于电子设备,如图所示,本检索处理方法包括:
[0087]
301、获取输入的检索词。
[0088]
其中检索词可以由用户自行输入,或者,系统推送。检索词可以为以下至少一种:汉字、英文句子、字符串、德语句子、法语句子、方言句子、日文句子、韩文句子、图像、视频、文档等等,在此不作限定。具体实现中,电子设备可以通过触控显示屏输入检索词。在输入
的检索词不为文本内容时,则可以将检索词转化为文本内容,再进行后续检索。
[0089]
在一个可能地示例中,上述步骤301,获取输入的检索词,可以包括如下步骤:
[0090]
a31、获取目标语音片段;
[0091]
a32、对所述目标语音片段进行解析,得到所述检索词。
[0092]
其中,电子设备可以采集用户输入的目标语音片段,并对目标语音片段转化为文本,对文本进行语义识别,得到检索词。
[0093]
在一个可能地示例中,上述步骤301,获取输入的检索词,可以包括如下步骤:
[0094]
b31、获取输入内容;
[0095]
b32、在输入内容不为文本内容时,将所述输入内容转化为目标文本内容;
[0096]
b33、对所述目标文本内容进行关键字提取,得到所述检索词。
[0097]
其中,具体实现中,电子设备可以通过输入电路获取输入内容,输入电路可以为以下至少一种:麦克风、触控显示屏、触控笔、鼠标、键盘等等,在此不作限定。
[0098]
具体实现中,电子设备可以获取输入内容,在输入内容不为文本内容时,可以通过字符识别、语音识别、图像识别等方式将输入内容转化为目标文本内容,对目标文本内容进行关键字提取,得到检索词,如此,可以便于后续检索。
[0099]
302、对所述检索词进行处理,得到查询表达式。
[0100]
其中,电子设备可以对检索词进行词法分析以及语法分析,将其转化为相应的查询表达式,查询表达式可以为后缀表达式(如逆波兰表达式)。
[0101]
在一个可能地示例中,上述步骤302,对所述检索词进行处理,得到查询表达式,可以包括如下步骤:
[0102]
21、对所述检索词进行词法分析,得到多个第一术语列表;
[0103]
22、对所述多个第一术语列表进行语法分析,得到所述查询表达式。
[0104]
其中,电子设备可以对用户的检索词(query)进行词法分析,即通过词法分析器对检索词进行至少一项处理:归一化、同义词转换、分词、去除停用词,在此不作限定,进而,可以得到分词后的多个第一术语列表(term list),进而,进行语法分析。首先是分析第一术语列表之间的关系,最终生成一个查询表达式。由于是在电子设备上开发,采用简单的配置方式。不同术语列表(term)之间的关系可以为命中所有、命中一个term即可。换成数据公式即为支持或运算(or、|运算符)和与运算(and、&运算符),两种运算符优先级相同。
[0105]
举例说明下:query=全球票房排行榜,词法分析后为term=全球、term=票房、term=排行榜,配置term之间为与的关系,则解析为查询表达式1&2&3,其中,数字为term标识,例如其中1代表词为全球的term;2代表词为票房的term。
[0106]
对于此查询表达式而言,其为一个中缀表达式,其更为符合人的思维逻辑,而计算机难于处理,因此,还可以将中缀表达式转换为计算机更容易处理的后缀表达式(逆波兰表达式,结合栈很容易完成算数求和)。例如,查询表达式1&2&3转换为12&3&。
[0107]
303、依据所述检索词进行数据收集,得到目标数据。
[0108]
其中,本申请实施例中,电子设备可以依据检索词对本地数据或者第三方应用的推送数据进行收集,得到目标数据,其中,本地数据可以为以下至少一种:本地媒体数据、通讯录数据、第三方应用的使用记录数据。第三方应用可以与电子设备事先约定允许被检索的应用。第三方应用可以为以下至少一种:游戏应用、视频应用、音频应用、即时通讯应用、
购物应用、天气应用、支付应用等等,在此不作限定。
[0109]
举例说明下,以手机为例,具体实现中,可以对于手机上媒体数据、通信录、应用数据,在第一次启动搜索引擎时会全量获取一遍对应模块中的数据,并将数据存储在的搜索引擎装置中,另一方面用户的数据是存在更新变化的,因此,可以注册一个监听器在上述模块上,当用户的数据发生变化时数据收集模块能够得到及时的通知并进行响应处理。
[0110]
其中,上述步骤302、步骤303可以同步执行,也可以异步执行,在同步执行时,步骤302、步骤303可以分别采用一个进程或者线程执行。
[0111]
在一个可能地示例中,上述步骤303,依据所述检索词进行数据收集,得到目标数据,可以按照如下方式实施:
[0112]
依据所述检索词获取本地媒体数据,得到所述目标数据;
[0113]
和/或,
[0114]
依据所述检索词获取本地通讯录数据,得到所述目标数据;
[0115]
和/或,
[0116]
依据所述检索词获取第三方应用的推送或者使用记录数据,得到所述目标数据。
[0117]
其中,电子设备依据检索词获取预设时间段的本地媒体数据,即可以得到与检索词相关的目标数据。本地媒体数据可以为以下至少一种:图像、音频、视频、文件(word文本、pdf文本、ppt等等),在此不作限定,预设时间段可以由用户自行设置或者系统默认;和/或,电子设备也可以依据检索词获取本地通讯录数据,得到目标数据;和/或,电子设备可以依据检索词获取第三方应用的推送或者使用记录数据,得到目标数据,即本申请实施例中,对于第三方应用来说,电子设备可以提供开放的api,第三方应用在完成鉴权后,可以通过相应的api接口推送一条一条数据给电子设备进行数据处理,其数据的更新动作可以标记为增加、删除、更新。
[0118]
在一个可能地示例中,上述步骤303,依据所述检索词进行数据收集,得到目标数据,可以包括如下步骤:
[0119]
31、获取预设时间段的历史数据;
[0120]
32、依据所述检索词对所述历史数据进行筛选,得到筛选后的所述历史数据;
[0121]
33、确定筛选后的所述历史数据的优先级顺序,依据该优先级顺序对筛选后的所述历史数据进行队列处理,得到所述目标数据。
[0122]
其中,预设时间段可以由用户自行设置或者系统默认。
[0123]
具体实现中,电子设备可以获取预设时间段的历史数据,依据检索词对历史数据进行筛选,得到筛选后的历史数据,其目的在于,尽量筛选出与检索词关联程度高的数据,进而,确定筛选后的历史数据的优先级顺序,依据该优先级顺序对所述筛选后的历史数据进行队列处理,得到目标数据,优先级顺序可以为关联度高低顺序,或者,也可以由数据的生成时间确定优先级顺序。如此,过优先级队列的方式,对不同数据的响应也会不同,在面对需要及时更新的数据可以采用高优先级队列进行处理,完成数据的及时更新,有助于提升后续数据检索效率。
[0124]
304、依据所述目标数据更新预设索引表,得到第一索引表。
[0125]
其中,预设索引表可以预先保存在数据库(database,db)中,预设索引表可以为倒排表,该倒排表中可以预先存储以下至少一项信息:术语列表名称、术语列表对应的文档数
量、文档标识、文档大小、文档使用频率等等,在此不做限定。
[0126]
在一个可能地示例中,上述步骤304,依据所述目标数据更新预设索引表,得到第一索引表,可以包括如下步骤:
[0127]
41、获取所述预设索引表对应的参考数据;
[0128]
42、依据所述目标数据与所述参考数据进行对比,得到待更新数据;
[0129]
43、依据所述待更新数据进行词法分析,得到至少一个第二术语列表;
[0130]
44、依据所述至少一个第二术语列表更新所述预设索引表,得到所述第一索引表。
[0131]
其中,预设索引表中的节点存储数据对应的标识,依据这些标识可以获取预设索引表对应的参考数据,进而,可以将目标数据与参考数据进行比对,得到目标数据中不存在于参考数据中的待更新数据,进而,可以对待更新数据进行词法分析,具体地,通过词法分析器对待更新数据进行至少一项处理:归一化、同义词转换、分词、去除停用词,在此不作限定,得到至少一个第二术语列表,依据至少一个第二术语列表更新预设索引表,即将更新数据的索引拼接在预设索引表中,进而,可以得到第一索引表。
[0132]
305、依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果。
[0133]
其中,第一索引表可以为一个倒排表,查询表达式可以处理为树结构,如二叉树,进而,电子设备可以依据二叉树对第一索引表进行查询,得到至少一个搜索结果。进而,能够实现模糊搜索或者精准搜索,具体地,依据检索词的精准度或者索引表的更新程度实现,例如,检索词为模糊词语时,则可以实现模糊搜索,又例如,检索词为精准词语时,则可以实现精准搜索,又例如,索引表更新不及时或者更新数据少,则可以实现模糊搜索,又例如,索引表更新及时或者更新数据充足,则可以实现精准搜索。
[0134]
在一个可能地示例中,上述步骤305,依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果,可以包括如下步骤:
[0135]
51、将所述查询表达式生成归并树结构;
[0136]
52、依据所述归并树结构获取所述第一索引表中每一节点对应的倒排拉链数据,并基于所述倒排拉链数据进行查询,得到所述至少一个搜索结果。
[0137]
其中,由于第一索引表预先保存在数据库中,其为一个倒排表。电子设备可以基于查询表达式生成归并树结构,倒排表中可以预先存储以下至少一项信息:术语列表名称、术语列表对应的文档数量、文档标识、文档大小、文档使用频率等等,在此不做限定。进而,电子设备可以依据归并树结构获取第一索引表中每一节点对应的倒排拉链数据,并基于倒排拉链数据进行查询,得到至少一个搜索结果。
[0138]
在一个可能的示例中,在上述步骤305之后,还可以包括如下步骤306-步骤307,具体如下:
[0139]
306、采用预设算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度。
[0140]
其中,预设算法可以由用户自行设置或者系统默认,预设算法可以为至少一个算法,预设算法可以为以下至少一种:术语频率-反向文档频率(term frequency

inverse document frequency,tf/idf)、石榴算法,绿萝算法,绿萝算法,飓风算法、原创星火计划、白杨算法、轻舟算法,惊雷算法、天网算法、烽火算法、细雨算法、石榴算法、极光算法、闪电算法、蓝天算法、冰桶算法、熊猫算法、企鹅算法等等,在此不作限定。具体实现中,电子设备
可以采用预设算法,确定至少一个搜索结果中的每一搜索结果与检索词之间的相关度,得到至少一个相关度。
[0141]
在一个可能地示例中,在所述预设算法为多个算法时,上述步骤306,采用预设算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度,可以包括如下步骤:
[0142]
61、确定所述检索词对应的目标检索词类型;
[0143]
62、按照预设的算法与检索词类型之间的映射关系,确定所述目标检索词类型对应的目标算法;
[0144]
63、依据所述目标算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度。
[0145]
其中,本申请实施例中,例如,可以依据检索词的格式确定检索词类型、检索词类型可以为以下至少一种:音频类型、视频类型、图像类型、文本类型等等,在此不作限定,又例如,还可以依据检索词的数量确定检索词类型,又例如,还可以依据检索词的复杂度确定检索词类型,又例如,还可以依据检索词的热门程度确定检索词类型,检索词类型可以为以下至少一种:热词、低频词、一般热度词等等,在此不作限定。
[0146]
具体实现中,在预设算法为多个算法时,则不同的算法针对不同的检索词,其检索效率以及检索精度不一样,进而,电子设备中可以预先存储预设的算法与检索词类型之间的映射关系,进而,在电子设备确定检索词对应的目标检索词类型之后,依据该预设的算法与检索词类型之间的映射关系,确定目标检索词类型对应的目标算法,进而,依据目标算法,确定至少一个搜索结果中的每一搜索结果与检索词之间的相关度,得到至少一个相关度,进而,有助于确定搜索结果的相关度。
[0147]
307、按照相关度高优先展示原则展示所述至少一个搜索结果。
[0148]
其中,电子设备可以按照相关度高优先展示原则展示至少一个搜索结果,则可以优先展示相关度高的搜索结果,相关度低的搜索结果则可以隐藏或者在相关度高的搜索结果展示完成之后再展示。
[0149]
基于上述检索处理方法,以手机为例,其是在手机上进行全文检索的一种全新探索,可以用来满足日益增长的用户数据文档与用户快速精准定位之间的矛盾需求,而在这样的终端搜索引擎下,可以满足用户在目前竞品中无法做到内容检索、模糊检索、根据检索词与文档相关度进行展现的痛点,在设计中,考虑了手机上的开发稳定性要求,因此,开创性的使用了db作为倒排存储,同时,利用db的索引来达到快速定位到某个特定倒排拉链,因此,在用户大规模数据下检索也能够快速得到响应,在数据收集方面,通过优先级队列的方式,对不同数据的响应也会不同,在面对需要及时更新的数据可以采用高优先级队列进行处理,完成数据的及时更新。
[0150]
举例说明下,如图3b所示,以手机为例搜索引擎分为两个数据流向,其中一条数据流向为对用户手机上数据的处理流,如图上椭圆标识部分,可以将媒体数据、通信录数据、应用数据或者合作的第三方应用数据根据定制化的配置解析后,对数据进行处理后存储到搜索系统中去,另一条数据流向为方形标识部分,是用户输入的检索词进入搜索系统后的处理过程,最终返回给用户的是与检索词匹配的文档、应用、音频、视频等数据。
[0151]
其中,数据处理流程是对用户数据的收集、入库过程。以手机为例上的开发对软件
的可靠性、稳定性有非常高的要求,无法做到服务端的及时修复。稳定性的要求导致不适合将一些复杂逻辑放到以手机为例上,但是搜索引擎又是一个非常复杂的工程,这就需要以更优的方式进行实现,为了满足稳定性需求,可以采用轻量级db来存储倒排表。倒排表中存储术语队列(term)名称、对应的文档数量、文档id的列表等关键信息。
[0152]
数据处理流程的第一步是需要对数据进行收集,主要有两类数据可以接入到搜索系统中,一类是用户在以手机为例上已授权访问的数据,一类是合作的第三方应用推送的数据,从外部推送过来的用户数据。
[0153]
具体实现中,对于手机上媒体数据、通信录、应用数据,可以在第一次启动搜索引擎时全量获取一遍对应模块中的数据,并将数据存储在的搜索引擎装置中,另一方面用户的数据是存在更新变化的,因此注册一个监听器在这些模块上,当用户的数据发生变化时数据收集模块能够得到及时的通知并进行响应处理。
[0154]
对于合作的第三方应用来说,提供了开放api。第三方应用在完成鉴权后,可以通过这个api推送一条一条数据给数据收集模块进行数据处理,其数据的更新动作需要标记为增加、删除、更新。
[0155]
在处理这些数据过程中存在队列排队的问题,由于用户的数据量可能会非常大,因此提出对了一条时效性通道,针对不同类型的数据分配不同的优先级,优先级高的数据会得到优先处理。
[0156]
在完成数据收集的动作之后,针对每条数据都需要通过索引引擎的处理完成对索引的更新,在此过程中会调用词法分析器对数据进行归一化、同义词转换、分词、去除停用词,最终形成一个term列表,并保留term的词频、在文档中出现的位置信息等,然后更新到倒排表存储中,完成对数据的更新,如图3c所示,其为词法分析器处理流程中的样例数据处理过程,具体地,例如,检索词为“全球電影的排行榜”,对其进行繁体字、大小写进行归一化,得到“全球电影的排行榜”,接着,进行切词处理,得到“全球电影的排行榜”,最后进行去除停用词,得到“全球电影排行榜”。
[0157]
进一步地,如图3d所示,其为另一条数据流向即为用户的检索词处理过程,处理的输入为用户的检索词,输出为搜索系统中记录的所有匹配到的数据结果集合,其可以包括如下步骤1-6:
[0158]
1、首先对用户的query进行词法分析,此过程可以与数据处理流程中词法分析器基本一致,需要获取的是分词后的一个term列表。
[0159]
2、进行语法分析。首先是分析term列表之间的关系,最终生成一个查询表达式。由于是在以手机为例上开发,采用简单的配置方式。不同term之间的关系可以为命中所有、命中一个term即可。换成数据公式即为支持或运算(or、|运算符)和与运算(and、&运算符),两种运算符优先级相同。例如:query=全球票房排行榜,词法分析后为term=全球、term=票房term=排行榜,配置term之间为与的关系,则解析为查询表达式1&2&3,其中数字为term标识,例如其中1代表词为全球的term;2代表词为票房的term。其中,对于此查询表达式而言,这是一个中缀表达式,其更为符合人的思维逻辑,而计算机难于处理,因此需要将中缀表达式转换为计算机更容易处理的后缀表达式(逆波兰表达式,结合栈很容易完成算数求和)。例如查询表达式1&2&3转换为12&3&。
[0160]
3、归并引擎处理,将语法分析后的结构后缀表达式生成归并树结构。将查询表达
式转换为二叉树结构进行存储,方便后续的归并操作。二叉树的节点包括操作符节点、term节点,其中term节点为叶子节点,记录term对应的id以及term的一些关键信息;操作符节点有左右子节点,是对左右子节点进行操作的算术节点。需要进行查询索引引擎,获取每个term节点对应的倒排拉链数据。索引引擎中存储着当前系统中已入库的所有索引信息,存储一条条的倒排拉链信息,根据term的名称对db的倒排表进行查询获取对应的倒排数据。在db中提前对term字段建立索引,利用db的b+树的索引机制可以在很短的时间内查询到对应的倒排拉链,其时间复杂度只有o(log2n),即使面对百万级的term数量也可以在极短的时间内可以做到加载对应倒排到内存中。
[0161]
4、通过对归并树的操作,完成算术运算,获取归并的最终结果拉链。此过程中自底向上的逐个完成操作符节点的运算,最终完成根节点的归并计算。
[0162]
其中求或(|)计算,即为求两条拉链之间的并集,而与(&)计算是求两条拉链的交集,如图3e所示。在求并、交集过程中,需要记录每篇文档命中的term集合,作为下一步骤中相关性计算的输入的一部分。
[0163]
5、是按照tf/idf算法,对最终的拉链结果中每篇文档与检索词之间的相关度进行打分。其中tf/idf为业界常用的评价相关性的算法,其核心思想是文档中包含某个term越多,则认为此文档与该term之间相关度越高,此为文档词频(term frequency),如果所有文档中出现某个term的频次约高,则认为该term越不重要,此为逆文档词频(inverse term frequency),根据这一核心思想对检索词与命中文档之间的相关度进行打分,获取相关性分数。
[0164]
6、按照相关度打分的结果进行排序,将分数约高的文档排在前面的方式展现给用户。
[0165]
在一个可能的示例中,步骤301,获取输入的检索词之前,还可以包括如下步骤:
[0166]
c1、获取用户的目标身份信息;
[0167]
c2、对所述目标身份信息进行验证;
[0168]
c3、在所述目标身份信息被验证通过时,执行所述获取输入的检索词的步骤。
[0169]
其中,本申请实施例中,目标身份信息可以为以下至少一种:字符串、触控参数、人脸图像、指纹图像、掌纹图像、静脉图像、脑电波、声纹等等,在此不做限定。
[0170]
具体实现中,电子设备可以获取用户的目标身份信息,可以对该目标身份信息进行验证,在目标身份信息被验证通过时,执行步骤301,否则,不执行后续步骤。
[0171]
进一步地,在所述目标身份信息为目标人脸图像时,在步骤c2-步骤c3之间,还可以包括如下步骤:
[0172]
c4、确定所述目标人脸图像的目标图像质量评价值;
[0173]
c5、在所述目标图像质量评价值大于预设图像质量评价值时,将所述目标人脸图像与预设人脸模板进行匹配,得到目标匹配值;
[0174]
c6、在所述目标匹配值大于预设匹配阈值时,确认所述目标身份信息被验证通过。
[0175]
其中,预设人脸模板可以预先保存在电子设备中,预设图像质量评价值、预设匹配阈值可以由用户自行设置或者系统默认。具体实现中,电子设备可以采用至少一个图像质量评价指标对目标人脸图像进行图像质量评价,得到目标图像质量评价值,图像质量评价指标可以为以下至少一种:信息熵、平均梯度、平均灰度、对比度等等,在此不做限定。在目
标图像质量评价值大于预设图像质量评价值时,可以执行将目标人脸图像与预设人脸模板进行匹配,得到目标匹配值,否则,则可以要求重新进行身份认证。
[0176]
进一步地,上述步骤c4,确定所述目标人脸图像的目标图像质量评价值,可以包括如下步骤:
[0177]
c41、确定所述目标人脸图像的目标特征点分布密度和目标信噪比;
[0178]
c42、按照预设的特征点分布密度与图像质量评价值之间的映射关系,确定所述目标特征点分布密度对应的第一图像质量评价值;
[0179]
c43、按照预设的信噪比与图像质量偏差值之间的映射关系,确定所述目标信噪比对应的目标图像质量偏差值;
[0180]
c44、获取所述目标人脸图像的第一拍摄参数;
[0181]
c45、按照预设的拍摄参数与优化系数之间的映射关系,确定所述第一拍摄参数对应的目标优化系数;
[0182]
c46、依据所述目标优化系数、所述目标图像质量偏差值对所述第一图像质量评价值进行调整,得到所述目标图像质量评价值。
[0183]
具体实现中,电子设备中的存储器可以预先存储预设的特征点分布密度与图像质量评价值之间的映射关系、预设的信噪比与图像质量偏差值之间的映射关系、以及预设的拍摄参数与优化系数之间的映射关系,其中,图像质量评价值的取值范围可以为0~1,或者,也可以为0~100。图像质量偏差值可以为正实数,例如,0~1,或者,也可以大于1。优化系数的取值范围可以为-1~1之间,例如,优化系数可以为-0.1~0.1。本申请实施例中,拍摄参数可以为以下至少一种:曝光时长、拍摄模式、感光度iso、白平衡参数、焦距、焦点、感兴趣区域等等,在此不做限定。
[0184]
具体实现中,电子设备可以确定目标人脸图像的目标特征点分布密度和目标信噪比,且按照预设的特征点分布密度与图像质量评价值之间的映射关系,确定目标特征点分布密度对应的第一图像质量评价值,特征点分布密度在一定程度上反映了图像质量,特征点分布密度可以理解为目标人脸图像的特征点总数与该目标人脸图像的图像面积之间的比值。进而,电子设备可以按照预设的信噪比与图像质量偏差值之间的映射关系,确定目标信噪比对应的目标图像质量偏差值,由于在生成图像的时候,由于外部(天气、光线、角度、抖动等)或者内部(系统、gpu)原因,产生一些噪声,这些噪声对图像质量会带来一些影响,因此,可以对图像质量进行一定程度调节,以保证对图像质量进行客观评价。
[0185]
进一步地,电子设备还可以获取目标人脸图像的第一拍摄参数,该第一拍摄参数也可以被携带在通信连接请求中,进而,按照预设的拍摄参数与优化系数之间的映射关系,确定第一拍摄参数对应的目标优化系数,拍摄的参数设置也可能对图像质量评价带来一定的影响,因此,需要确定拍摄参数对图像质量的影响成分,最后,依据目标优化系数、目标图像质量偏差值对第一图像质量评价值进行调整,得到目标图像质量评价值,其中,目标图像质量评价值可以按照如下公式得到:
[0186]
在图像质量评价值为百分制的情况下,具体计算公式如下:
[0187]
目标图像质量评价值=(第一图像质量评价值+目标图像质量偏差值)*(1+目标优化系数)
[0188]
在图像质量评价值为百分比的情况下,具体计算公式如下:
[0189]
目标图像质量评价值=第一图像质量评价值*(1+目标图像质量偏差值)*(1+目标优化系数)
[0190]
如此,可以结合内部、外部环境因素以及拍摄设置因素等影响,对图像质量进行客观评价,有助于提升图像质量评价精准度。
[0191]
可以看出,在本申请实施例中所描述的检索处理方法,应用于电子设备,获取输入的检索词,对检索词进行处理,得到查询表达式,依据检索词进行数据收集,得到目标数据,依据目标数据更新预设索引表,得到第一索引表,依据查询表达式对第一索引表进行查询,得到至少一个搜索结果,采用预设算法,确定至少一个搜索结果中的每一搜索结果与检索词之间的相关度,得到至少一个相关度,按照相关度高优先展示原则展示至少一个搜索结果,如此,一方面,能够更新待搜索数据,另一方面,能够将检索词转化为查询表达式,进而,能够实现对检索词精准搜索,且可以依据相关度展示搜索结果,实现智能化展示搜索结果,提升了用户体验。
[0192]
本申请提供了请参阅图4,图4是本申请实施例提供的一种检索处理方法的流程示意图,应用于电子设备;如图所示,本检索处理方法包括:
[0193]
401、获取输入内容。
[0194]
402、在输入内容不为文本内容时,将所述输入内容转化为目标文本内容。
[0195]
403、对所述目标文本内容进行关键字提取,得到检索词。
[0196]
404、对所述检索词进行处理,得到查询表达式。
[0197]
405、依据所述检索词进行数据收集,得到目标数据。
[0198]
406、依据所述目标数据更新预设索引表,得到第一索引表。
[0199]
407、依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果。
[0200]
408、采用预设算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度。
[0201]
409、按照相关度高优先展示原则展示所述至少一个搜索结果。
[0202]
其中,上述步骤401-步骤409的具体描述可以参照图3a所描述的检索处理方法的相应步骤,在此不再赘述。
[0203]
可以看出,在本申请实施例中所描述的检索处理方法,应用于电子设备,一方面,能够更新待搜索数据,另一方面,能够通过输入内容,提取检索词,并将该检索词转化为查询表达式,进而,能够实现对检索词精准搜索,且可以依据相关度展示搜索结果,实现智能化展示搜索结果,提升了用户体验。
[0204]
与上述实施例一致地,请参阅图5,图5是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
[0205]
获取输入的检索词;
[0206]
对所述检索词进行处理,得到查询表达式;
[0207]
依据所述检索词进行数据收集,得到目标数据;
[0208]
依据所述目标数据更新预设索引表,得到第一索引表;
[0209]
依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果。可以
看出,在本申请实施例中所描述的电子设备,获取输入的检索词,对检索词进行处理,得到查询表达式,依据检索词进行数据收集,得到目标数据,依据目标数据更新预设索引表,得到第一索引表,依据查询表达式对第一索引表进行查询,得到至少一个搜索结果,一方面,能够更新待搜索数据,另一方面,能够将检索词转化为查询表达式,进而,能够实现依据检索词进行模糊搜索或者精准搜索,提升了用户体验。
[0210]
在一个可能地示例中,在所述依据所述检索词进行数据收集,得到目标数据方面,上述程序包括用于执行以下步骤的指令:
[0211]
依据所述检索词获取本地媒体数据,得到所述目标数据;
[0212]
和/或,
[0213]
依据所述检索词获取本地通讯录数据,得到所述目标数据;
[0214]
和/或,
[0215]
依据所述检索词获取第三方应用的推送或者使用记录数据,得到所述目标数据。
[0216]
在一个可能地示例中,在所述依据所述检索词进行数据收集,得到目标数据方面,上述程序包括用于执行以下步骤的指令:
[0217]
获取预设时间段的历史数据;
[0218]
依据所述检索词对所述历史数据进行筛选,得到筛选后的所述历史数据;
[0219]
确定筛选后的所述历史数据的优先级顺序,依据该优先级顺序对筛选后的所述历史数据进行队列处理,得到所述目标数据。
[0220]
在一个可能地示例中,在所述对所述检索词进行处理,得到查询表达式方面,上述程序包括用于执行以下步骤的指令:
[0221]
对所述检索词进行词法分析,得到至少一个第一术语列表;
[0222]
对所述至少一个第一术语列表进行语法分析,得到所述查询表达式。
[0223]
在一个可能地示例中,在所述依据所述目标数据更新预设索引表,得到第一索引表方面,上述程序包括用于执行以下步骤的指令:
[0224]
获取所述预设索引表对应的参考数据;
[0225]
依据所述目标数据与所述参考数据进行对比,得到待更新数据;
[0226]
依据所述待更新数据进行词法分析,得到至少一个第二术语列表;
[0227]
依据所述至少一个第二术语列表更新所述预设索引表,得到所述第一索引表。
[0228]
在一个可能地示例中,在所述依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果方面,上述程序包括用于执行以下步骤的指令:
[0229]
将所述查询表达式生成归并树结构;
[0230]
依据所述归并树结构获取所述第一索引表中每一节点对应的倒排拉链数据,并基于所述倒排拉链数据进行查询,得到所述至少一个搜索结果。
[0231]
在一个可能地示例中,在所述依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果之后,上述程序包括用于执行以下步骤的指令:
[0232]
采用预设算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度;
[0233]
按照相关度高优先展示原则展示所述至少一个搜索结果。
[0234]
在一个可能地示例中,在所述预设算法为多个算法时,在所述采用预设算法,确定
所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度方面,上述程序包括用于执行以下步骤的指令:
[0235]
确定所述检索词对应的目标检索词类型;
[0236]
按照预设的算法与检索词类型之间的映射关系,确定所述目标检索词类型对应的目标算法;
[0237]
依据所述目标算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度。
[0238]
在一个可能地示例中,在所述获取输入的检索词方面,上述程序包括用于执行以下步骤的指令:
[0239]
获取输入内容;
[0240]
在输入内容不为文本内容时,将所述输入内容转化为目标文本内容;
[0241]
对所述目标文本内容进行关键字提取,得到所述检索词。
[0242]
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0243]
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0244]
图6a是本申请实施例中所涉及的检索处理装置600的功能单元组成框图。该检索处理装置600应用于电子设备,所述装置600包括:获取单元601、处理单元602、收集单元603、更新单元604和搜索单元605,其中,
[0245]
所述获取单元601,用于获取输入的检索词;
[0246]
所述处理单元602,用于对所述检索词进行处理,得到查询表达式;
[0247]
所述收集单元603,用于依据所述检索词进行数据收集,得到目标数据;
[0248]
所述更新单元604,用于依据所述目标数据更新预设索引表,得到第一索引表;
[0249]
所述搜索单元605,用于依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果。
[0250]
可以看出,在本申请实施例中所描述的检索处理装置,应用于电子设备,获取输入的检索词,对检索词进行处理,得到查询表达式,依据检索词进行数据收集,得到目标数据,依据目标数据更新预设索引表,得到第一索引表,依据查询表达式对第一索引表进行查询,得到至少一个搜索结果,如此,一方面,能够更新待搜索数据,另一方面,能够将检索词转化为查询表达式,进而,能够实现对检索词模糊搜索或者精准搜索,提升了用户体验。
[0251]
在一个可能地示例中,在所述依据所述检索词进行数据收集,得到目标数据方面,
所述搜索单元603具体用于:
[0252]
依据所述检索词获取本地媒体数据,得到所述目标数据;
[0253]
和/或,
[0254]
依据所述检索词获取本地通讯录数据,得到所述目标数据;
[0255]
和/或,
[0256]
依据所述检索词获取第三方应用的推送或者使用记录数据,得到所述目标数据。
[0257]
在一个可能地示例中,在所述依据所述检索词进行数据收集,得到目标数据方面,所述搜索单元603具体用于:
[0258]
获取预设时间段的历史数据;
[0259]
依据所述检索词对所述历史数据进行筛选,得到筛选后的所述历史数据;
[0260]
确定筛选后的所述历史数据的优先级顺序,依据该优先级顺序对筛选后的所述历史数据进行队列处理,得到所述目标数据。
[0261]
在一个可能地示例中,在所述对所述检索词进行处理,得到查询表达式方面,所述处理单元602具体用于:
[0262]
对所述检索词进行词法分析,得到至少一个第一术语列表;
[0263]
对所述至少一个第一术语列表进行语法分析,得到所述查询表达式。
[0264]
在一个可能地示例中,在所述依据所述目标数据更新预设索引表,得到第一索引表方面,所述更新单元605具体用于:
[0265]
获取所述预设索引表对应的参考数据;
[0266]
依据所述目标数据与所述参考数据进行对比,得到待更新数据;
[0267]
依据所述待更新数据进行词法分析,得到至少一个第二术语列表;
[0268]
依据所述至少一个第二术语列表更新所述预设索引表,得到所述第一索引表。
[0269]
在一个可能地示例中,在所述依据所述查询表达式对所述第一索引表进行查询,得到至少一个搜索结果方面,所述搜索单元605具体用于:
[0270]
将所述查询表达式生成归并树结构;
[0271]
依据所述归并树结构获取所述第一索引表中每一节点对应的倒排拉链数据,并基于所述倒排拉链数据进行查询,得到所述至少一个搜索结果。
[0272]
在一个可能地示例中,如图6b,图6b为图6a所示的装置又一变型结构,其还可以包括:确定单元606和展示单元607,具体如下:
[0273]
所述确定单元606,用于采用预设算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度;
[0274]
所述展示单元607,用于按照相关度高优先展示原则展示所述至少一个搜索结果。
[0275]
进一步地,在一个可能地示例中,在所述预设算法为多个算法时,在所述采用预设算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词之间的相关度,得到至少一个相关度方面,所述确定单元606具体用于:
[0276]
确定所述检索词对应的目标检索词类型;
[0277]
按照预设的算法与检索词类型之间的映射关系,确定所述目标检索词类型对应的目标算法;
[0278]
依据所述目标算法,确定所述至少一个搜索结果中的每一搜索结果与所述检索词
之间的相关度,得到至少一个相关度。
[0279]
在一个可能地示例中,在所述获取输入的检索词方面,所述获取单元601具体用于:
[0280]
获取输入内容;
[0281]
在输入内容不为文本内容时,将所述输入内容转化为目标文本内容;
[0282]
对所述目标文本内容进行关键字提取,得到所述检索词。
[0283]
需要注意的是,本申请实施例所描述的标签设备是以功能单元的形式呈现。这里所使用的术语“单元”应当理解为尽可能最宽的含义,用于实现各个“单元”所描述功能的对象例如可以是集成电路asic,单个电路,用于执行一个或多个软件或固件程序的处理器(共享的、专用的或芯片组)和存储器,组合逻辑电路,和/或提供实现上述功能的其他合适的组件。
[0284]
其中,获取单元601、处理单元602、收集单元603、更新单元604、搜索单元605、确定单元606和展示单元607均可以为可以是控制电路或处理器中的一个或者多个,基于上述单元模块能够实现上述任一方法的功能或者步骤。
[0285]
本实施例还提供了一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例,以用于实现上述实施例中的任一方法。
[0286]
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的任一方法。
[0287]
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的任一方法。
[0288]
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
[0289]
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0290]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0291]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0292]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0293]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0294]
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1