CN110019650A - 提供搜索联想词的方法、装置、存储介质及电子设备 - Google Patents

提供搜索联想词的方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN110019650A
CN110019650A CN201811024818.1A CN201811024818A CN110019650A CN 110019650 A CN110019650 A CN 110019650A CN 201811024818 A CN201811024818 A CN 201811024818A CN 110019650 A CN110019650 A CN 110019650A
Authority
CN
China
Prior art keywords
search
word
term
associational
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811024818.1A
Other languages
English (en)
Other versions
CN110019650B (zh
Inventor
郑海贵
邵荣防
郝晖
欧阳硕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201811024818.1A priority Critical patent/CN110019650B/zh
Publication of CN110019650A publication Critical patent/CN110019650A/zh
Application granted granted Critical
Publication of CN110019650B publication Critical patent/CN110019650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/328Management therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques

Abstract

本公开涉及一种提供搜索联想词的方法、提供搜索联想词的装置、计算机可读存储介质及电子设备。本公开实施例中的提供搜索联想词的方法包括:从搜索词数据库中获取搜索词,并获取用于联想所述搜索词的至少一个搜索字符串;建立所述搜索词与所述搜索字符串之间的关联索引,并计算所述关联索引的排序分数Sp;从所述搜索词数据库中获取与一目标搜索字符串存在关联索引关系的至少一个备选搜索词;将所述备选搜索词按照所述排序分数Sp进行排序,并将有序排列的所述备选搜索词作为所述目标搜索字符串的搜索联想词。该方法不仅提高了搜索词联想功能的开发效率,降低了搜索词联想功能的开发成本,而且具有普遍适用性强、通用性好等有益效果。

Description

提供搜索联想词的方法、装置、存储介质及电子设备
技术领域
本公开涉及计算机技术领域,具体涉及一种提供搜索联想词的方法、提供搜索联想词的装置、计算机可读存储介质及电子设备。
背景技术
搜索引擎可以根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户。
当用户使用搜索引擎提供的检索服务时,搜索引擎可以根据用户在搜索输入框内输入的内容给出联想词补全或提示,联想词通常可以在搜索输入框的下方以下拉框列表的方式显示。这种提供联想词的方式既能辅助用户搜索,提高搜索效率,另外也能起到一定的流量分发作用。联想词提供功能也已成为各种专业搜索引擎(例如google、百度等)以及大型垂直搜索引擎(例如淘宝搜索、**搜索等)的标配产品。
现有的搜索引擎通常是由专门的搜索团队基于已有业务数据或者搜索数据进行排期开发,或者通过技术外包排期开发。这种开发方式普遍存在开发周期长、开发效率低的问题,而且针对同类数据容易出现重复开发、资源浪费的情况。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种提供搜索联想词的方法、提供搜索联想词的装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的搜索联想词提供功能开发周期长、开发效率低等技术问题。
根据本公开的一个方面,提供一种提供搜索联想词的方法,其特殊之处在于,包括:
从搜索词数据库中获取搜索词,并获取用于联想所述搜索词的至少一个搜索字符串;
建立所述搜索词与所述搜索字符串之间的关联索引,并计算所述关联索引的排序分数Sp
从所述搜索词数据库中获取与一目标搜索字符串存在关联索引关系的至少一个备选搜索词;
将所述备选搜索词按照所述排序分数Sp进行排序,并将有序排列的所述备选搜索词作为所述目标搜索字符串的搜索联想词。
在本公开的一种示例性实施方式中,所述计算所述关联索引的排序分数Sp,包括:
根据所述搜索词与所述搜索字符串的关联程度,计算所述关联索引的相关度分数Sx
根据所述相关度分数Sx计算所述关联索引的排序分数Sp
在本公开的一种示例性实施方式中,所述计算所述关联索引的相关度分数Sx,包括:
分别获取所述搜索词的词向量以及所述搜索字符串的词向量;
计算所述搜索词的词向量与所述搜索字符串的词向量之间的向量距离,并将所述向量距离作为所述关联索引的相关度分数Sx
在本公开的一种示例性实施方式中,分别获取所述搜索词的词向量以及所述搜索字符串的词向量,包括:
获取所述搜索词以及所述搜索字符串在训练语料库中的上下文词语;
以所述上下文词语作为输入数据,利用神经网络算法分别训练得到所述搜索词的词向量以及所述搜索字符串的词向量。
在本公开的一种示例性实施方式中,所述根据所述相关度分数Sx计算所述关联索引的排序分数Sp,包括:
利用预设搜索接口获取所述搜索词的搜索结果数;
根据所述搜索结果数计算所述搜索词的质量分数Sz
根据所述质量分数Sz和所述相关度分数Sx计算所述关联索引的排序分数Sp
在本公开的一种示例性实施方式中,在根据所述质量分数Sz和所述相关度分数Sx计算所述关联索引的排序分数Sp之前,所述根据所述相关度分数Sx计算所述关联索引的排序分数Sp还包括:
对所述质量分数Sz做归一化处理。
在本公开的一种示例性实施方式中,所述根据所述质量分数Sz和所述相关度分数Sx计算所述关联索引的排序分数Sp,包括:
根据公式Sp=Sz*a+Sx*b计算所述排序分数Sp;其中,Sz为所述质量分数,Sx为所述相关度分数,a为第一预设系数,b为第二预设系数。
在本公开的一种示例性实施方式中,所述第一预设系数为0.6,所述第二预设系数为0.4。
在本公开的一种示例性实施方式中,所述从搜索词数据库中获取搜索词,包括:
获取与搜索对象的基本信息相关的基本信息数据库,以所述基本信息数据库作为所述搜索词数据库;
从所述基本信息数据库中获取所述搜索词。
在本公开的一种示例性实施方式中,所述从所述基本信息数据库中获取所述搜索词,包括:
从所述基本信息数据库中读取数据,并对所述数据进行分词处理;
对分词处理后的所述数据进行归一化清洗,得到所述搜索词。
在本公开的一种示例性实施方式中,所述根据所述搜索结果数计算所述搜索词的质量分数Sz,包括:
统计所述搜索词在所述基本信息数据库中的词频;
根据所述词频和所述搜索结果数计算所述搜索词的质量分数Sz
在本公开的一种示例性实施方式中,所述从搜索词数据库中获取搜索词,包括:
获取与搜索对象的历史搜索信息相关的历史搜索数据库,以所述历史搜索数据库作为所述搜索词数据库;
从所述历史搜索数据库中获取所述搜索词。
在本公开的一种示例性实施方式中,所述从所述历史搜索数据库中获取所述搜索词,包括:
从所述历史搜索数据库中读取数据;
对所述数据进行归一化清洗,得到所述搜索词。
在本公开的一种示例性实施方式中,所述获取与搜索对象的历史搜索信息相关的历史搜索数据库,包括:
获取所述搜索对象的平均搜索量;
根据所述平均搜索量计算所述搜索对象的数据提取周期;
获取所述搜索对象在所述数据提取周期内的历史搜索信息,以形成所述历史搜索数据库。
在本公开的一种示例性实施方式中,所述根据所述搜索结果数计算所述搜索词的质量分数Sz,包括:
统计所述搜索词在所述历史搜索数据库中的搜索量;
根据所述搜索量和所述搜索结果数计算所述搜索词的质量分数Sz
根据本公开的一个方面,提供一种提供搜索联想词的装置,其特殊之处在于,包括:
第一获取模块,被配置为从搜索词数据库中获取搜索词,并获取用于联想所述搜索词的至少一个搜索字符串;
索引模块,被配置为建立所述搜索词与所述搜索字符串之间的关联索引,并计算所述关联索引的排序分数Sp
第二获取模块,被配置为从所述搜索词数据库中获取与一目标搜索字符串存在关联索引关系的至少一个备选搜索词;
排序模块,被配置为将所述备选搜索词按照所述排序分数Sp进行排序,并将有序排列的所述备选搜索词作为所述目标搜索字符串的搜索联想词。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特殊之处在于,所述计算机程序被处理器执行时实现以上任一所述的提供搜索联想词的方法。
根据本公开的一个方面,提供一种电子设备,其特殊之处在于,包括处理器和存储器;其中,存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行以上任一所述的提供搜索联想词的方法。
在本公开实施例中,基于搜索词数据库可以建立搜索词与搜索字符串之间的关联索引,并可以计算各个关联索引的排序分数以对其进行排序,从而为用户提供按照关联程度进行排列的联想词。这种提供联想词的方法可以快捷便利地从复杂多样的业务数据或者搜索词数据中提取出搜索词的联想关系,不仅提高了搜索词联想功能的开发效率,降低了搜索词联想功能的开发成本,而且具有普遍适用性强、通用性好等有益效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施方式中提供搜索联想词的方法的步骤流程图。
图2示意性示出本公开示例性实施方式中提供搜索联想词的方法的部分步骤流程图。
图3示意性示出本公开示例性实施方式中提供搜索联想词的方法的部分步骤流程图。
图4示意性示出本公开示例性实施方式中提供搜索联想词的方法的部分步骤流程图。
图5示意性示出本公开示例性实施方式中提供搜索联想词的方法的部分步骤流程图。
图6示意性示出本公开示例性实施方式中提供搜索联想词的方法的部分步骤流程图。
图7示意性示出本公开示例性实施方式中提供搜索联想词的方法的部分步骤流程图。
图8示意性示出本公开示例性实施方式中提供搜索联想词的方法的部分步骤流程图。
图9示意性示出应用本公开实施例提供搜索联想词方法的客户定制流程示意图。
图10示意性示出应用本公开实施例提供搜索联想词方法的云服务流程示意图。
图11示意性示出应用本公开实施例提供搜索联想词方法的云服务系统示意图。
图12示意性示出本公开示例性实施方式中提供搜索联想词的装置的组成框图。
图13示意性示出本公开示例性实施方式中提供搜索联想词的装置的部分模块组成框图。
图14示意性示出本公开示例性实施方式中提供搜索联想词的装置的部分模块组成框图。
图15示意性示出本公开示例性实施方式中提供搜索联想词的装置的部分模块组成框图。
图16示意性示出本公开示例性实施方式中提供搜索联想词的装置的部分模块组成框图。
图17示意性示出本公开示例性实施方式中提供搜索联想词的装置的部分模块组成框图。
图18示意性示出本公开示例性实施方式中一种程序产品的示意图。
图19示意性示出本公开示例性实施方式中一种电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开的示例性实施方式中首先提供一种提供搜索联想词的方法,该方法主要可以应用于各种专业搜索引擎或者垂直搜索引擎。如图1所示,本示例性实施方式中的提供搜索联想词的方法主要可以包括以下步骤:
步骤S110.从搜索词数据库中获取搜索词,并获取用于联想该搜索词的至少一个搜索字符串。
本步骤首先需要从搜索词数据库中获取搜索词,其中搜索词数据库可以是用于存储搜索词数据的数据库,也可以是用于存储与搜索词相关的文本数据的数据库,另外也可以是用于存储与搜索词或者搜索对象相关的其他任意格式数据的数据库,本示例性实施方式对此不做特殊限定。在从搜索词数据库中获取搜索词的同时,本步骤还将获取用于联想该搜索词的至少一个搜索字符串。搜索字符串可以是由搜索词的部分组成字符所构成的字符串,也可以是与搜索词语义相关的其他字符串,例如本步骤中获取的搜索词为“洗衣液”,那么与之对应的搜索字符串可以是“洗”、“洗衣”、“水洗”、“机洗”、“洗衣机”等字符串。另外,如果搜索词是一中文字符串,那么与之对应的搜索字符串还可以是在使用拼音输入法输入该搜索词时所用到的部分或者全部英文字符进行组合构成,例如与搜索词“洗衣液”对应的搜索字符串除了“洗”、“洗衣”等中文字符串以外还可以包括“x”、“xi”、“xiy”、“xiyi”、“xiyiy”、“xiyiye”等英文字符串。搜索字符串可以用于联想与之对应的搜索词,例如当用户在搜索输入框中输入搜索字符串“xiyi”,那么搜索引擎可以为用户提供“洗衣”、“洗衣液”、“洗衣机”等搜索词以作为搜索联想词形成搜索下拉框供用户选择。
步骤S120.建立搜索词与搜索字符串之间的关联索引,并计算关联索引的排序分数Sp
由步骤S110获取到搜索词和搜索字符串之后,本步骤将在搜索词与对应的搜索字符串之间建立关联索引,计算设备通过识别该关联索引便可以由搜索字符串联想至对应的搜索词,并将具有关联索引关系的搜索词提供给使用搜索服务的用户。一个搜索词通常可以与多个搜索字符串建立索引关系,而且一个搜索字符串通常也可以与多个搜索词建立索引关系。对于任意两个存在关联索引关系的搜索词和搜索字符串而言,本步骤将按照预设算法计算二者之间关联索引的排序分数Sp,排序分数Sp主要用于对各个关联索引进行排序,可以反映各个关联索引内的搜索词与搜索字符串之间的关联程度。
步骤S130.从搜索词数据库中获取与一目标搜索字符串存在关联索引关系的至少一个备选搜索词。
根据步骤S120中建立的关联索引关系,针对一个目标搜索字符串,本步骤可以从搜索词数据库中获取与之存在关联索引关系的一个或者多个备选搜索词。例如,目标搜索字符串为“洗”,那么本步骤中便可以获取到“洗衣液”、“洗衣机”、“水洗”、“机洗”等多个备选搜索词。
步骤S140.将备选搜索词按照排序分数Sp进行排序,并将有序排列的备选搜索词作为目标搜索字符串的搜索联想词。
按照关联索引关系,每个备选搜索词都具有一个与目标搜索字符串相关的排序分数Sp。如果步骤S130中获取到的备选搜索词只有一个,那么本步骤可以直接将该备选搜索词作为目标搜索字符串的搜索联想词。而如果步骤S130中获取到的备选搜索词有多个,那么本步骤可以对多个备选搜索词按照各自的排序分数Sp进行排序,并将有序排列的多个备选搜索词作为目标搜索字符串的搜索联想词。
在本示例性实施方式中,基于搜索词数据库可以建立搜索词与搜索字符串之间的关联索引,并可以计算各个关联索引的排序分数以对其进行排序,从而为用户提供按照关联程度进行排列的联想词。这种提供联想词的方法可以快捷便利地从复杂多样的业务数据或者搜索词数据中提取出搜索词的联想关系,不仅提高了搜索词联想功能的开发效率,降低了搜索词联想功能的开发成本,而且具有普遍适用性强、通用性好等有益效果。
如图2所示,在以上示例性实施方式的基础上,步骤S120中的计算关联索引的排序分数Sp,可以进一步包括以下步骤:
步骤S210.根据搜索词与搜索字符串的关联程度,计算关联索引的相关度分数Sx
本步骤可以先根据搜索词语搜索字符串之间的关联程度计算二者之间所建立的关联索引的相关度分数Sx,计算得到的相关度分数Sx越高,那么可以认为二者之间的关联程度也越高。
步骤S220.根据相关度分数Sx计算关联索引的排序分数Sp
由步骤S210计算得到相关度分数Sx,本步骤将继续计算关联索引的排序分数Sp。一般而言,排序分数Sp可以与相关度分数Sx呈正相关关系,亦即相关度分数Sx越高的关联索引,其排序分数Sp也将越高。
本示例性实施方式通过计算相关度分数Sx的方式来得到对应的排序分数Sp,可以按照排序分数Sp由高到低的顺序对各个备选搜索词进行排序,从而可以最大程度地贴合用户的预期搜索对象,提高用户搜索的便利性。当然,在其他一些示例性实施方式中,也可以采用其他计算排序分数Sp的方法,例如可以根据用户的历史搜索习惯形成相应算法以计算排序分数Sp,又例如针对网络商城或者网络交易平台的搜索引擎可以根据特定的促销活动形成相应算法以计算排序分数Sp,本公开对此不做特殊限定。
如图3所示,在上一示例性实施方式的基础上,步骤S210中的计算关联索引的相关度分数Sx,可以进一步包括以下步骤:
步骤S310.分别获取搜索词的词向量以及搜索字符串的词向量。
本步骤可以将自然语言中的搜索词以及搜索字符串转化为计算设备可以理解的稠密向量(Dense Vector),至于词向量中的每个维度具体是什么意义是可以忽略的。本步骤可以采用机器学习算法分别获取搜索词和搜索字符串的词向量。例如,本步骤可以首先获取搜索词以及搜索字符串在训练语料库中的上下文词语;然后以各自的上下文词语作为输入数据,利用神经网络算法分别训练得到搜索词的词向量以及搜索字符串的词向量。较为优选地,本步骤可以使用深度学习方法word2vec进行词向量获取,word2vec的思想是利用一个词和它在文本中的上下文的词进行训练,这样就省去了人工标注的过程。具体而言,可以使用CBOW模型(Continuous Bag-of-Words Model,连续词袋模型),将一个词作为输出,而将该词所在的上下文中的词作为输入。即第l个词的上下文词包括i,j,k,那么以i,j,k作为输入,将它们在词汇表中的位置的值置为1。然后,输出是l,把它所在的词汇表中的位置的值置为1。训练完成后,就得到了每个词到隐含层的每个维度的权重,就是每个词的词向量。另外,本步骤也可以采用其他任意算法获取词向量,本示例性实施方式对此不做特殊限定。
步骤S320.计算搜索词的词向量与搜索字符串的词向量之间的向量距离,并将向量距离作为关联索引的相关度分数Sx
根据步骤S310得到的搜索词的词向量与搜索字符串的词向量,本步骤可以计算两个词向量之间的向量距离,并将该向量距离作为关联索引的相关度分数Sx。例如,搜索词的词向量为A,搜索字符串的词向量为B,那么本步骤可以通过如下公式计算余弦相似度cosθ以得到二者之间的向量距离:
其中,Ai和Bi分别为词向量A和词向量B的不同维度取值,n为词向量维度数。
另外,本步骤也可以采用欧氏距离、曼哈顿距离、汉明距离等其他任意的向量相似性度量方法对相关度分数Sx进行计算,本示例性实施方式对此不做特殊限定。
如表1所示,在本示例性实施方式中,假设搜索词为“明前茶”,与之对应的搜索字符串可以包括“春茶”、“明前”、“明后”等等,那么针对每一个搜索字符串都可以计算出对应的预先相似度cosθ以作为关联索引的相关度分数Sx
表1与搜索词“明前茶”对应的搜索字符串的词向量余弦相似度
如图4所示,在本公开的另一示例性实施方式中,步骤S220.根据相关度分数Sx计算关联索引的排序分数Sp,可以包括以下步骤:
步骤S410.利用预设搜索接口获取搜索词的搜索结果数。
预设搜索接口可以是由应用本公开提供搜索联想词方法的搜索引擎所提供的搜索接口,也可以是诸如**商城、**超市、**旅游等具有垂直搜索业务需求的数据库所提供的搜索接口。本步骤可以通过爬虫爬取由预设搜索接口得到的搜索词的搜索结果数。爬虫(web crawler)又可以称为网络机器人,是可以按照一定规则自动抓取网页信息的一类程序或者脚本。另外,本步骤还可以过滤掉搜索结果数为0的搜索词。
步骤S420.根据搜索结果数计算搜索词的质量分数Sz
根据步骤S410中获得的搜索结果数,本步骤可以计算每个搜索词对应的质量分数Sz,质量分数Sz可以是通过一定算法计算得到的与搜索结果数呈正相关的参数。较为优选地,本步骤在计算得到一个搜索词的质量分数后,还可以对该质量分数做归一化处理,归一化处理是指将所有搜索词的质量分数统一映射至0到1范围内的小数。例如可以利用如下公式对搜索词的质量分数进行归一化:
其中,score代表归一化处理前的一个搜索词的质量分数,scoremax代表归一化处理前的所有搜索词的质量分数中的最大值。Sz则代表归一化处理后的搜索词的质量分数。通过归一化处理可以降低绝对数值对于最终排序分数计算的影响,提高排序分数计算的客观性和准确度。
步骤S430.根据质量分数Sz和相关度分数Sx计算关联索引的排序分数Sp
由步骤S420得到质量分数Sz后,本步骤可以根据该质量分数Sz以及由步骤S210中计算得到的相关度分数Sx共同计算得到搜索词与搜索字符串之间的关联索引的排序分数Sp。例如,本步骤可以根据公式Sp=Sz*a+Sx*b计算排序分数Sp;其中,Sz为质量分数,Sx为相关度分数,a为第一预设系数,b为第二预设系数。根据前述实施例中的计算方式,质量分数Sz可以是经过归一化处理后的取值在0至1范围内的参数,而相关度分数Sx也可以是基于余弦相似度的取值在0至1范围内的参数。那么相应地,本步骤中可以采用加权求和的方式计算排序分数Sp,即第一预设系数a与第二预设系数b的取值之和为1。例如根据实践经验,本步骤中可以将第一预设系数a设置为0.6,同时将第二预设系数b设置为0.4,在这种计算方式下,质量分数Sz在排序分数Sp中所占的权重高于相关度分数Sx在排序分数Sp中所占的权重。当然,在其他一些示例性实施方式中,可以根据需要采用其他方式分别对第一预设系数a与第二预设系数b进行赋值,另外也可以采用其他任意的计算公式对排序分数Sp进行计算,本公开对此不做特殊限定。
在本示例性实施方式中,关联索引的排序分数Sp的取值由质量分数Sz和相关度分数Sx共同决定,质量分数和相关度分数分别从两个不同维度衡量一个关联索引的排序高度,使得排序结果更加客观、准确。
以上示例性实施方式中的提供搜索联想词的方法主要可以应用于具有搜索功能的处于不同形态或类型下的业务产品。例如使用本公开方法的业务产品可能处于冷启动阶段或已有搜索服务两种状态之一。二者的区别在于,处于冷启动阶段的业务产品没有用户搜索词数据,需要从其他业务数据中挖掘下拉框联想词;已有搜索服务的业务产品有一定量级的用户搜索词数据积累,可以直接用于制作下拉框联想词。下面结合具体实施例对本公开方法在两种处于不同状态的业务产品中的应用进行说明。
针对处于冷启动阶段的业务产品,如图5所示,步骤S110中的从搜索词数据库中获取搜索词,可以包括以下步骤:
步骤S510.获取与搜索对象的基本信息相关的基本信息数据库,以基本信息数据库作为搜索词数据库。
通过导入搜索对象的基本信息可以形成基本信息数据库,不同的搜索对象可以对应不同的基本信息,例如:购物产品对应商品标题/店铺名/品牌名,音乐产品对应歌曲名/歌手名/专辑名,酒店产品对应酒店名/地区名/商圈名等。
步骤S520.从基本信息数据库中获取搜索词。
基本信息数据库中存储的数据包括搜索对象的基本信息,为了从中获取可用于搜索的搜索词,本步骤可以先从基本信息数据库中读取数据,并对读取到的数据进行分词处理;然后对分词处理后的数据进行归一化清洗,得到搜索词。在进行分词处理之后,还可以对分词得到的词串进行过滤,滤除其中的停用词。本步骤中进行的归一化清洗是用于对词串格式进行统一,例如归一化清洗可以包括繁体转简体、大写转小写、全角转半角、前后空格剔除、多个空格归一等等。
在该实施例的基础上,步骤S420.根据搜索结果数计算搜索词的质量分数Sz可以包括如图6所示的以下两个步骤:
步骤S610.统计搜索词在基本信息数据库中的词频。
词频是搜索词在基本信息数据库中的出现频次,词频可以反映搜索词在基本信息库中的使用频率。一个搜索词的词频越高,说明该搜索词在搜索对象的基本信息数据中的使用频率也越高。
步骤S620.根据词频和搜索结果数计算搜索词的质量分数Sz
由步骤S610得到搜索词的词频后,本步骤可以将该词频与步骤S410中获取到的搜索结果数结合,共同用于计算搜索词的质量分数Sz。例如本步骤可以直接将词频与搜索结果数相加得到相应的质量分数Sz,或者可以分别将词频与搜索结果数各自乘以一个比例系数之后再求和,另外也可以根据需要选用其他任意的计算方式,本示例性实施方式对此不做特殊限定。
利用词频与搜索结果数两种参数对搜索词的质量分数进行计算可以增加质量分数的计算维度,提高计算结果的客观性和准确性。
针对已有搜索服务的业务产品,如图7所示,步骤S110中的从搜索词数据库中获取搜索词,可以包括以下步骤:
步骤S710.获取与搜索对象的历史搜索信息相关的历史搜索数据库,以历史搜索数据库作为搜索词数据库。
搜索对象的历史搜索信息包括用户在使用搜索服务时所使用的搜索词数据,通过导入一定时间段内的用户搜索词数据可以形成历史搜索数据库。例如,本步骤中获取历史搜索数据库的方法可以包括如下步骤:获取搜索对象的平均搜索量;根据平均搜索量计算搜索对象的数据提取周期;获取搜索对象在数据提取周期内的历史搜索信息,以形成历史搜索数据库。搜索对象的平均搜索量可以是用户使用业务产品的搜索服务时的日均搜索量,根据日均搜索量可以计算得到长度为若干天数的数据提取周期,然后利用该数据提取周期内的历史搜索信息形成历史搜索数据库。较为优选地,本步骤可以按照如下公式计算搜索对象的数据提取周期:
其中,X为日均搜索量,Y为数据提取周期(单位为天)。例如,在某一业务产品的搜索服务中,日均搜索量为10万左右,那么利用该公式计算得到数据提取周期为50天。如此一来,可以提取最近50天内的历史搜索数据形成历史搜索数据库。在其他一些示例性实施方式中,也可以采用其他任意的获取历史搜索数据形成历史搜索数据库的方法,本公开对此不做特殊限定。
步骤S720.从历史搜索数据库中获取搜索词。
本示例性实施方式中的历史搜索数据库与前述实施例中的基本信息数据库的不同之处在于,历史搜索数据库中存储的数据本身便包括了用户所使用的用于搜索的搜索词,因此可以省去对数据进行分词处理的步骤。从历史搜索数据库中获取搜索词的方式可以是:首先从历史搜索数据库中读取数据;然后对数据进行归一化清洗,得到搜索词。本步骤中进行的归一化清洗是用于对词串格式进行统一,例如归一化清洗可以包括繁体转简体、大写转小写、全角转半角、前后空格剔除、多个空格归一等等。
在该实施例的基础上,步骤S420.根据搜索结果数计算搜索词的质量分数Sz可以包括如图8所示的以下两个步骤:
步骤S810.统计搜索词在历史搜索数据库中的搜索量。
搜索量是用户使用搜索接口的次数,每使用一次记为一个搜索量。搜索量可以反映在历史搜索信息中搜索词的使用频率。一个搜索词的搜索量越高,说明用户在使用该搜索词进行搜索的频率也越高。
步骤S820.根据搜索量和搜索结果数计算搜索词的质量分数Sz
由步骤S810得到搜索词的搜索量后,本步骤可以将该搜索量与步骤S410中获取到的搜索结果数结合,共同用于计算搜索词的质量分数Sz。例如本步骤可以直接将搜索量与搜索结果数相加得到相应的质量分数Sz,或者可以分别将搜索量与搜索结果数各自乘以一个比例系数之后再求和,另外也可以根据需要选用其他任意的计算方式,本示例性实施方式对此不做特殊限定。
利用搜索量与搜索结果数两种参数对搜索词的质量分数进行计算可以增加质量分数的计算维度,提高计算结果的客观性和准确性。
需要说明的是,虽然以上示例性实施方式以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或者必须执行全部的步骤才能实现期望的结果。附加地或者备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以上示例性实施方式中所公开的提供搜索联想词的方法可以封装应用于SaaS平台(Software-as-a-Service,软件服务平台),从而可以针对不同用户(例如搜索业务产品的供应商)的不同业务需求定制符合其业务特征的搜索联想词服务。这种方式既可以满足垂直业务刚起步时快速定制搜索下拉框联想词的需求,同时也能够提高搜索团队的业务效率。
应用本公开技术方案的服务框架可以包括用户定制流程、数据生产流程和云服务流程。其中,数据生产流程即对应本公开中的提供搜索联想词的方法,而且数据生产流程和云服务流程对于用户而言,是个“黑盒子”,用户只需要使用用户定制流程在用户界面按照指引完成配置,即可一键定制搜索下拉框联想词。
如图9所示,用户可以首先根据自身的业务产品的选择相应的产品状态,即可以选择“产品冷启动”或者“已有搜索服务”。当选择“产品冷启动”时,表示该业务产品没有用户搜索词数据,需要从其他业务数据中挖掘下拉框联想词。如图中所示,需要导入搜索对象基本信息数据,例如:购物产品对应商品标题/店铺名/品牌名,音乐产品对应歌曲名/歌手名/专辑名,酒店产品对应酒店名/地区名/商圈名等。而当用户选择“已有搜索服务”时,标识该业务产品有一定量级的用户搜索词数据积累,可以直接用于制作下拉框联想词。只需要选择日均搜索量级(如图中所示的PV)即可,根据量级自动评估数据周期后可以导入相应数据周期内的用户搜索词数据。通过为用户提供定制选项可以导入与用户的业务产品相关的基本信息数据或者用户搜索词数据,导入数据将被保存在数据库中,之后输入导入数据的数据库信息,如数据库IP地址、数据库端口等信息,同时输入导入数据的表名、字段名等信息即可完成用户定制流程。针对导入数据可执行本公开实施例中的提供搜索联想词的方法,从而完成数据生产流程。
云服务流程是接收不同客户的服务请求,将其分发到不同的服务器上,在服务器上完成上述数据生成和数据处理的流程后,再将得到的词表返回给客户。
如图10所示,云服务流程主要涉及请求分发、请求处理和请求返回三项服务处理流程。
请求分发:如图11所示,不同业务产品服务请求使用不同的域名,可以将域名请求转发到不同的通用网关接口设备(Common Gateway Interface,简称CGI),CGI设备通过聚类映射(cluster map)路由到不同业务的服务器(SERVER)。
请求处理:服务器从请求PB中解析出待扩展搜索联想词的关键词,(这里可以扩展用户信息,迭代“千人千面”的个性化版本),图10中所示的“联想词索引数据”即通过数据生产流程形成的备选的搜索下拉框联想词。当解析得到的关键词没有备选的搜索下拉框联想词时,可以回退一个字符查找搜索下拉框联想词,一般可以回退三个字符。
请求返回:将得到的搜索下拉框联想词结果填写至PB,写到respone,经CGI设备返回给客户端。
应用本公开技术方案的服务框架通过将搜索下拉框联想词数据生产流程和服务处理流程“云服务化”,即封装标准化的数据生产流程和服务处理流程,可以在不理解业务数据的情况下,也能快速生产下拉框联想词,给到一种基于SaaS的解决方案,不仅可以满足垂直业务刚起步时快速定制搜索下拉框联想词的需求,也能够提高搜索团队的业务效率。
在本公开的一种示例性实施方式中,还提供一种提供搜索联想词的装置。如图12所示,提供搜索联想词的装置1200主要可以包括:第一获取模块1210、索引模块1220、第二获取模块1230和排序模块1240。
第一获取模块1210被配置为从搜索词数据库中获取搜索词,并获取用于联想搜索词的至少一个搜索字符串。
第一获取模块1210可以从搜索词数据库中获取搜索词,其中搜索词数据库可以是用于存储搜索词数据的数据库,也可以是用于存储与搜索词相关的文本数据的数据库,另外也可以是用于存储与搜索词或者搜索对象相关的其他任意格式数据的数据库,本示例性实施方式对此不做特殊限定。在从搜索词数据库中获取搜索词的同时,第一获取模块1110还将获取用于联想该搜索词的至少一个搜索字符串。搜索字符串可以是由搜索词的部分组成字符所构成的字符串,也可以是与搜索词语义相关的其他字符串。另外,如果搜索词是一中文字符串,那么与之对应的搜索字符串还可以是在使用拼音输入法输入该搜索词时所用到的部分或者全部英文字符进行组合构成。搜索字符串可以用于联想与之对应的搜索词,例如当用户在搜索输入框中输入搜索字符串“xiyi”,那么搜索引擎可以为用户提供“洗衣”、“洗衣液”、“洗衣机”等搜索词以作为搜索联想词形成搜索下拉框供用户选择。
索引模块1220被配置为建立搜索词与搜索字符串之间的关联索引,并计算关联索引的排序分数Sp
根据第一获取模块1210获取到搜索词和搜索字符串,索引模块1220可以在搜索词与对应的搜索字符串之间建立关联索引,计算设备通过识别该关联索引便可以由搜索字符串联想至对应的搜索词,并将具有关联索引关系的搜索词提供给使用搜索服务的用户。一个搜索词通常可以与多个搜索字符串建立索引关系,而且一个搜索字符串通常也可以与多个搜索词建立索引关系。对于任意两个存在关联索引关系的搜索词和搜索字符串而言,第一获取模块1210将按照预设算法计算二者之间关联索引的排序分数Sp,排序分数Sp主要用于对各个关联索引进行排序,可以反映各个关联索引内的搜索词与搜索字符串之间的关联程度。
第二获取模块1230被配置为从搜索词数据库中获取与一目标搜索字符串存在关联索引关系的至少一个备选搜索词。
根据索引模块1220建立的关联索引关系,针对一个目标搜索字符串,第二获取模块1230可以从搜索词数据库中获取与之存在关联索引关系的一个或者多个备选搜索词。例如,目标搜索字符串为“洗”,那么第二获取模块1230便可以获取到“洗衣液”、“洗衣机”、“水洗”、“机洗”等多个备选搜索词。
排序模块1240被配置为将备选搜索词按照排序分数Sp进行排序,并将有序排列的备选搜索词作为目标搜索字符串的搜索联想词。
按照索引模块1220建立的关联索引关系,每个备选搜索词都具有一个与目标搜索字符串相关的排序分数Sp。如果第二获取模块1230获取到的备选搜索词只有一个,那么排序模块1240可以直接将该备选搜索词作为目标搜索字符串的搜索联想词。而如果第二获取模块1230获取到的备选搜索词有多个,那么排序模块1240可以对多个备选搜索词按照各自的排序分数Sp进行排序,并将有序排列的多个备选搜索词作为目标搜索字符串的搜索联想词。
在本示例性实施方式中,提供联想词的装置可以快捷便利地从复杂多样的业务数据或者搜索词数据中提取出搜索词的联想关系,不仅提高了搜索词联想功能的开发效率,降低了搜索词联想功能的开发成本,而且具有普遍适用性强、通用性好等有益效果。
如图13所示,索引模块1220至少可以包括:第一计算子模块1310和第二计算子模块1320。
其中,第一计算子模块1310被配置为根据搜索词与搜索字符串的关联程度,计算关联索引的相关度分数Sx
第一计算子模块1310可以先根据搜索词语搜索字符串之间的关联程度计算二者之间所建立的关联索引的相关度分数Sx,计算得到的相关度分数Sx越高,那么可以认为二者之间的关联程度也越高。
第二计算子模块1320被配置为根据相关度分数Sx计算关联索引的排序分数Sp
基于第一计算子模块1310计算得到的相关度分数Sx,第二计算子模块1320可以计算关联索引的排序分数Sp。一般而言,排序分数Sp可以与相关度分数Sx呈正相关关系,亦即相关度分数Sx越高的关联索引,其排序分数Sp也将越高。
本示例性实施方式中的索引模块1220通过计算相关度分数Sx的方式来得到对应的排序分数Sp,可以按照排序分数Sp由高到低的顺序对各个备选搜索词进行排序,从而可以最大程度地贴合用户的预期搜索对象,提高用户搜索的便利性。当然,在其他一些示例性实施方式中,也可以采用其他计算排序分数Sp的方法,例如可以根据用户的历史搜索习惯形成相应算法以计算排序分数Sp,又例如针对网络商城或者网络交易平台的搜索引擎可以根据特定的促销活动形成相应算法以计算排序分数Sp,本公开对此不做特殊限定。
在上一示例性实施方式的基础上,如图13所示,第一计算子模块1310可以进一步包括:第一获取单元1311和第一计算单元1312。
其中,第一获取单元1311被配置为分别获取搜索词的词向量以及搜索字符串的词向量。
第一获取单元1311可以将自然语言中的搜索词以及搜索字符串转化为计算设备可以理解的稠密向量(Dense Vector),至于词向量中的每个维度具体是什么意义是可以忽略的。第一获取单元1311可以采用机器学习算法分别获取搜索词和搜索字符串的词向量。例如,第一获取单元1311可以首先获取搜索词以及搜索字符串在训练语料库中的上下文词语;然后以各自的上下文词语作为输入数据,利用神经网络算法分别训练得到搜索词的词向量以及搜索字符串的词向量。
第一计算单元1312被配置为计算搜索词的词向量与搜索字符串的词向量之间的向量距离,并将向量距离作为关联索引的相关度分数Sx
根据第一获取单元1311得到的搜索词的词向量与搜索字符串的词向量,第一计算单元1312可以计算两个词向量之间的向量距离,并将该向量距离作为关联索引的相关度分数Sx。例如,搜索词的词向量为A,搜索字符串的词向量为B,那么第一计算单元1312可以通过如下公式计算余弦相似度cosθ以得到二者之间的向量距离:
其中,Ai和Bi分别为词向量A和词向量B的不同维度取值,n为词向量维度数。
如图13所示,第二计算单元1320可以进一步包括:第二获取单元1321、第二计算单元1322和第三计算单元1323。
第二获取单元1321被配置为利用预设搜索接口获取搜索词的搜索结果数。
预设搜索接口可以是由搜索引擎所提供的搜索接口,也可以是诸如**商城、**超市、**旅游等具有垂直搜索业务需求的数据库所提供的搜索接口。第二获取单元1321可以通过爬虫爬取由预设搜索接口得到的搜索词的搜索结果数。爬虫(web crawler)又可以称为网络机器人,是可以按照一定规则自动抓取网页信息的一类程序或者脚本。另外,第二获取单元1321还可以过滤掉搜索结果数为0的搜索词。
第二计算单元1322被配置为根据搜索结果数计算搜索词的质量分数Sz
基于第二获取单元1321获得的搜索结果数,第二计算单元1322可以计算每个搜索词对应的质量分数Sz,质量分数Sz可以是通过一定算法计算得到的与搜索结果数呈正相关的参数。较为优选地,第二计算单元1322在计算得到一个搜索词的质量分数后,还可以对该质量分数做归一化处理,归一化处理是指将所有搜索词的质量分数统一映射至0到1范围内的小数。例如可以利用如下公式对搜索词的质量分数进行归一化:
其中,score代表归一化处理前的一个搜索词的质量分数,scoremax代表归一化处理前的所有搜索词的质量分数中的最大值。Sz则代表归一化处理后的搜索词的质量分数。通过归一化处理可以降低绝对数值对于最终排序分数计算的影响,提高排序分数计算的客观性和准确度。
第三计算单元1323被配置为根据质量分数Sz和相关度分数Sx计算关联索引的排序分数Sp
由第二计算单元1322得到质量分数Sz后,第三计算单元1323可以根据该质量分数Sz以及由第二获取单元1321计算得到的相关度分数Sx共同计算得到搜索词与搜索字符串之间的关联索引的排序分数Sp。例如,第三计算单元1323可以根据公式Sp=Sz*a+Sx*b计算排序分数Sp;其中,Sz为质量分数,Sx为相关度分数,a为第一预设系数,b为第二预设系数。根据前述实施例中的计算方式,质量分数Sz可以是经过归一化处理后的取值在0至1范围内的参数,而相关度分数Sx也可以是基于余弦相似度的取值在0至1范围内的参数。那么相应地,第三计算单元1323可以采用加权求和的方式计算排序分数Sp,即第一预设系数a与第二预设系数b的取值之和为1。例如根据实践经验,第三计算单元1323可以将第一预设系数a设置为0.6,同时将第二预设系数b设置为0.4,在这种计算方式下,质量分数Sz在排序分数Sp中所占的权重高于相关度分数Sx在排序分数Sp中所占的权重。当然,在其他一些示例性实施方式中,可以根据需要采用其他方式分别对第一预设系数a与第二预设系数b进行赋值,另外也可以采用其他任意的计算公式对排序分数Sp进行计算,本公开对此不做特殊限定。
在本示例性实施方式中,关联索引的排序分数Sp的取值由质量分数Sz和相关度分数Sx共同决定,质量分数和相关度分数分别从两个不同维度衡量一个关联索引的排序高度,使得排序结果更加客观、准确。
以上示例性实施方式中的提供搜索联想词的装置主要可以应用于具有搜索功能的处于不同形态或类型下的业务产品。例如使用本公开装置的业务产品可能处于冷启动阶段或已有搜索服务两种状态之一。二者的区别在于,处于冷启动阶段的业务产品没有用户搜索词数据,需要从其他业务数据中挖掘下拉框联想词;已有搜索服务的业务产品有一定量级的用户搜索词数据积累,可以直接用于制作下拉框联想词。下面结合具体实施例对本公开装置在两种处于不同状态的业务产品中的应用进行说明。
针对处于冷启动阶段的业务产品,如图14所示,第一获取模块1210至少可以包括:第一获取子模块1410和第二获取子模块1420。
第一获取子模块1410被配置为获取与搜索对象的基本信息相关的基本信息数据库,以基本信息数据库作为搜索词数据库。
通过导入搜索对象的基本信息可以形成基本信息数据库,不同的搜索对象可以对应不同的基本信息,例如:购物产品对应商品标题/店铺名/品牌名,音乐产品对应歌曲名/歌手名/专辑名,酒店产品对应酒店名/地区名/商圈名等。
第二获取子模块1420被配置为从基本信息数据库中获取搜索词。
基本信息数据库中存储的数据包括搜索对象的基本信息,为了从中获取可用于搜索的搜索词,第二获取子模块1420可以先从基本信息数据库中读取数据,并对读取到的数据进行分词处理;然后对分词处理后的数据进行归一化清洗,得到搜索词。在进行分词处理之后,还可以对分词得到的词串进行过滤,滤除其中的停用词。第二获取子模块1420中进行的归一化清洗是用于对词串格式进行统一,例如归一化清洗可以包括繁体转简体、大写转小写、全角转半角、前后空格剔除、多个空格归一等等。
如图15所示,在该实施例的基础上,第二计算单元1322可以进一步包括:第一统计子单元1510和第一计算子单元1520。
第一统计子单元1510被配置为统计搜索词在基本信息数据库中的词频。
词频是搜索词在基本信息数据库中的出现频次,词频可以反映搜索词在基本信息库中的使用频率。一个搜索词的词频越高,说明该搜索词在搜索对象的基本信息数据中的使用频率也越高。
第一计算子单元1520被配置为根据词频和搜索结果数计算搜索词的质量分数Sz
第一统计子单元1510得到搜索词的词频后,第一计算子单元1520可以将该词频与第二获取单元1321获取到的搜索结果数结合,共同用于计算搜索词的质量分数Sz。例如第一计算子单元1520可以直接将词频与搜索结果数相加得到相应的质量分数Sz,或者可以分别将词频与搜索结果数各自乘以一个比例系数之后再求和,另外也可以根据需要选用其他任意的计算方式,本示例性实施方式对此不做特殊限定。
利用词频与搜索结果数两种参数对搜索词的质量分数进行计算可以增加质量分数的计算维度,提高计算结果的客观性和准确性。
针对已有搜索服务的业务产品,如图16所示,第一获取模块1210至少可以包括:第三获取子模块1610和第四获取子模块1620。
第三获取子模块1610被配置为获取与搜索对象的历史搜索信息相关的历史搜索数据库,以历史搜索数据库作为搜索词数据库。
搜索对象的历史搜索信息包括用户在使用搜索服务时所使用的搜索词数据,通过导入一定时间段内的用户搜索词数据可以形成历史搜索数据库。例如,第三获取子模块1610获取历史搜索数据库的方法可以包括:获取搜索对象的平均搜索量;根据平均搜索量计算搜索对象的数据提取周期;获取搜索对象在数据提取周期内的历史搜索信息,以形成历史搜索数据库。搜索对象的平均搜索量可以是用户使用业务产品的搜索服务时的日均搜索量,根据日均搜索量可以计算得到长度为若干天数的数据提取周期,然后利用该数据提取周期内的历史搜索信息形成历史搜索数据库。较为优选地,第三获取子模块1610可以按照如下公式计算搜索对象的数据提取周期:
其中,X为日均搜索量,Y为数据提取周期(单位为天)。例如,在某一业务产品的搜索服务中,日均搜索量为10万左右,那么利用该公式计算得到数据提取周期为50天。如此一来,可以提取最近50天内的历史搜索数据形成历史搜索数据库。在其他一些示例性实施方式中,也可以采用其他任意的获取历史搜索数据形成历史搜索数据库的方法,本公开对此不做特殊限定。
第四获取子模块1620被配置为从历史搜索数据库中获取搜索词。
本示例性实施方式中的历史搜索数据库与前述实施例中的基本信息数据库的不同之处在于,历史搜索数据库中存储的数据本身便包括了用户所使用的用于搜索的搜索词,因此可以省去对数据进行分词处理的步骤。从历史搜索数据库中获取搜索词的方式可以是:首先从历史搜索数据库中读取数据;然后对数据进行归一化清洗,得到搜索词。第四获取子模块1620进行的归一化清洗是用于对词串格式进行统一,例如归一化清洗可以包括繁体转简体、大写转小写、全角转半角、前后空格剔除、多个空格归一等等。
如图17所示,在该实施例的基础上,第二计算单元1322可以进一步包括:第二统计子单元1710和第二计算子单元1720。
第二统计子单元1710被配置为统计搜索词在历史搜索数据库中的搜索量。
搜索量是用户使用搜索接口的次数,每使用一次记为一个搜索量。搜索量可以反映在历史搜索信息中搜索词的使用频率。一个搜索词的搜索量越高,说明用户在使用该搜索词进行搜索的频率也越高。
第二计算子单元1720被配置为根据搜索量和搜索结果数计算搜索词的质量分数Sz
由第二统计子单元1710得到搜索词的搜索量后,第二计算子单元1720可以将该搜索量与第二获取单元1321获取到的搜索结果数结合,共同用于计算搜索词的质量分数Sz。例如第二计算子单元1720可以直接将搜索量与搜索结果数相加得到相应的质量分数Sz,或者可以分别将搜索量与搜索结果数各自乘以一个比例系数之后再求和,另外也可以根据需要选用其他任意的计算方式,本示例性实施方式对此不做特殊限定。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施方式中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现本公开的上述的提供搜索联想词的方法。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码;该程序产品可以存储在一个非易失性存储介质(可以是CD-ROM、U盘或者移动硬盘等)中或网络上;当所述程序产品在一台计算设备(可以是个人计算机、服务器、终端装置或者网络设备等)上运行时,所述程序代码用于使所述计算设备执行本公开中上述各示例性实施例中的方法步骤。
参见图18所示,根据本公开的实施方式的用于实现上述方法的程序产品1800,其可以采用便携式紧凑磁盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备(例如个人计算机、服务器、终端装置或者网络设备等)上运行。然而,本公开的程序产品不限于此。在本示例性实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或者多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件、或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任意可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户计算设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN)等)连接到用户计算设备;或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
在本公开的示例性实施方式中,还提供一种电子设备,所述电子设备包括至少一个处理器以及至少一个用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为经由执行所述可执行指令来执行本公开中上述各示例性实施例中的方法步骤。
下面结合图19对本示例性实施方式中的电子设备1900进行描述。电子设备1900仅仅为一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
参见图19所示,电子设备1900以通用计算设备的形式表现。电子设备1900的组件可以包括但不限于:至少一个处理单元1910、至少一个存储单元1920、连接不同系统组件(包括处理单元1910和存储单元1920)的总线1930、显示单元1940。
其中,存储单元1920存储有程序代码,所述程序代码可以被处理单元1910执行,使得处理单元1910执行本公开中上述各示例性实施例中的方法步骤。
存储单元1920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元1921(RAM)和/或高速缓存存储单元1922,还可以进一步包括只读存储单元1923(ROM)。
存储单元1920还可以包括具有一组(至少一个)程序模块1925的程序/实用工具1924,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用各种总线结构中的任意总线结构的局域总线。
电子设备1900也可以与一个或多个外部设备2000(例如键盘、指向设备、蓝牙设备等)通信,还可以与一个或者多个使得用户可以与该电子设备1900交互的设备通信,和/或与使得该电子设备1900能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口1950进行。并且,电子设备1900还可以通过网络适配器1960与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图19所示,网络适配器1960可以通过总线1930与电子设备1900的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备1900使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
上述所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中,如有可能,各实施例中所讨论的特征是可互换的。在上面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本公开的各方面。

Claims (18)

1.一种提供搜索联想词的方法,其特征在于,包括:
从搜索词数据库中获取搜索词,并获取用于联想所述搜索词的至少一个搜索字符串;
建立所述搜索词与所述搜索字符串之间的关联索引,并计算所述关联索引的排序分数Sp
从所述搜索词数据库中获取与一目标搜索字符串存在关联索引关系的至少一个备选搜索词;
将所述备选搜索词按照所述排序分数Sp进行排序,并将有序排列的所述备选搜索词作为所述目标搜索字符串的搜索联想词。
2.根据权利要求1所述的提供搜索联想词的方法,其特征在于,所述计算所述关联索引的排序分数Sp,包括:
根据所述搜索词与所述搜索字符串的关联程度,计算所述关联索引的相关度分数Sx
根据所述相关度分数Sx计算所述关联索引的排序分数Sp
3.根据权利要求2所述的提供搜索联想词的方法,其特征在于,所述计算所述关联索引的相关度分数Sx,包括:
分别获取所述搜索词的词向量以及所述搜索字符串的词向量;
计算所述搜索词的词向量与所述搜索字符串的词向量之间的向量距离,并将所述向量距离作为所述关联索引的相关度分数Sx
4.根据权利要求3所述的提供搜索联想词的方法,其特征在于,分别获取所述搜索词的词向量以及所述搜索字符串的词向量,包括:
获取所述搜索词以及所述搜索字符串在训练语料库中的上下文词语;
以所述上下文词语作为输入数据,利用神经网络算法分别训练得到所述搜索词的词向量以及所述搜索字符串的词向量。
5.根据权利要求2所述的提供搜索联想词的方法,其特征在于,所述根据所述相关度分数Sx计算所述关联索引的排序分数Sp,包括:
利用预设搜索接口获取所述搜索词的搜索结果数;
根据所述搜索结果数计算所述搜索词的质量分数Sz
根据所述质量分数Sz和所述相关度分数Sx计算所述关联索引的排序分数Sp
6.根据权利要求5所述的提供搜索联想词的方法,其特征在于,在根据所述质量分数Sz和所述相关度分数Sx计算所述关联索引的排序分数Sp之前,所述根据所述相关度分数Sx计算所述关联索引的排序分数Sp还包括:
对所述质量分数Sz做归一化处理。
7.根据权利要求5所述的提供搜索联想词的方法,其特征在于,所述根据所述质量分数Sz和所述相关度分数Sx计算所述关联索引的排序分数Sp,包括:
根据公式Sp=Sz*a+Sx*b计算所述排序分数Sp;其中,Sz为所述质量分数,Sx为所述相关度分数,a为第一预设系数,b为第二预设系数。
8.根据权利要求7所述的提供搜索联想词的方法,其特征在于,所述第一预设系数为0.6,所述第二预设系数为0.4。
9.根据权利要求5所述的提供搜索联想词的方法,其特征在于,所述从搜索词数据库中获取搜索词,包括:
获取与搜索对象的基本信息相关的基本信息数据库,以所述基本信息数据库作为所述搜索词数据库;
从所述基本信息数据库中获取所述搜索词。
10.根据权利要求9所述的提供搜索联想词的方法,其特征在于,所述从所述基本信息数据库中获取所述搜索词,包括:
从所述基本信息数据库中读取数据,并对所述数据进行分词处理;
对分词处理后的所述数据进行归一化清洗,得到所述搜索词。
11.根据权利要求9所述的提供搜索联想词的方法,其特征在于,所述根据所述搜索结果数计算所述搜索词的质量分数Sz,包括:
统计所述搜索词在所述基本信息数据库中的词频;
根据所述词频和所述搜索结果数计算所述搜索词的质量分数Sz
12.根据权利要求5所述的提供搜索联想词的方法,其特征在于,所述从搜索词数据库中获取搜索词,包括:
获取与搜索对象的历史搜索信息相关的历史搜索数据库,以所述历史搜索数据库作为所述搜索词数据库;
从所述历史搜索数据库中获取所述搜索词。
13.根据权利要求12所述的提供搜索联想词的方法,其特征在于,所述从所述历史搜索数据库中获取所述搜索词,包括:
从所述历史搜索数据库中读取数据;
对所述数据进行归一化清洗,得到所述搜索词。
14.根据权利要求12所述的提供搜索联想词的方法,其特征在于,所述获取与搜索对象的历史搜索信息相关的历史搜索数据库,包括:
获取所述搜索对象的平均搜索量;
根据所述平均搜索量计算所述搜索对象的数据提取周期;
获取所述搜索对象在所述数据提取周期内的历史搜索信息,以形成所述历史搜索数据库。
15.根据权利要求12所述的提供搜索联想词的方法,其特征在于,所述根据所述搜索结果数计算所述搜索词的质量分数Sz,包括:
统计所述搜索词在所述历史搜索数据库中的搜索量;
根据所述搜索量和所述搜索结果数计算所述搜索词的质量分数Sz
16.一种提供搜索联想词的装置,其特征在于,包括:
第一获取模块,被配置为从搜索词数据库中获取搜索词,并获取用于联想所述搜索词的至少一个搜索字符串;
索引模块,被配置为建立所述搜索词与所述搜索字符串之间的关联索引,并计算所述关联索引的排序分数Sp
第二获取模块,被配置为从所述搜索词数据库中获取与一目标搜索字符串存在关联索引关系的至少一个备选搜索词;
排序模块,被配置为将所述备选搜索词按照所述排序分数Sp进行排序,并将有序排列的所述备选搜索词作为所述目标搜索字符串的搜索联想词。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-15中任意一项所述的提供搜索联想词的方法。
18.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-15中任意一项所述的提供搜索联想词的方法。
CN201811024818.1A 2018-09-04 2018-09-04 提供搜索联想词的方法、装置、存储介质及电子设备 Active CN110019650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811024818.1A CN110019650B (zh) 2018-09-04 2018-09-04 提供搜索联想词的方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811024818.1A CN110019650B (zh) 2018-09-04 2018-09-04 提供搜索联想词的方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN110019650A true CN110019650A (zh) 2019-07-16
CN110019650B CN110019650B (zh) 2024-04-05

Family

ID=67188449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811024818.1A Active CN110019650B (zh) 2018-09-04 2018-09-04 提供搜索联想词的方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN110019650B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125308A (zh) * 2019-12-21 2020-05-08 深圳前海黑顿科技有限公司 一种支持语义联想的轻量级文本模糊搜索的方法
CN111739514A (zh) * 2019-07-31 2020-10-02 北京京东尚科信息技术有限公司 一种语音识别方法、装置、设备及介质
CN112434183A (zh) * 2020-11-30 2021-03-02 北京达佳互联信息技术有限公司 一种搜索结果的排序方法、装置、设备和存储介质
CN112800314A (zh) * 2021-01-26 2021-05-14 浙江香侬慧语科技有限责任公司 搜索引擎询问自动补全的方法、系统、存储介质及设备
CN113111150A (zh) * 2021-04-14 2021-07-13 科大讯飞股份有限公司 一种文档检索方法、装置、存储介质及设备
CN113312523A (zh) * 2021-07-30 2021-08-27 北京达佳互联信息技术有限公司 字典生成、搜索关键字推荐方法、装置和服务器
CN112434183B (zh) * 2020-11-30 2024-05-17 北京达佳互联信息技术有限公司 一种搜索结果的排序方法、装置、设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118555A (zh) * 2007-09-10 2008-02-06 腾讯科技(深圳)有限公司 关键词的联想信息生成系统和生成方法
JP2011044122A (ja) * 2009-07-23 2011-03-03 Rakuten Inc 適切な検索クエリを提示する情報処理装置、情報処理方法、および、情報処理プログラム
US20110179021A1 (en) * 2010-01-21 2011-07-21 Microsoft Corporation Dynamic keyword suggestion and image-search re-ranking
US20110184946A1 (en) * 2010-01-28 2011-07-28 International Business Machines Corporation Applying synonyms to unify text search with faceted browsing classification
CN103455487A (zh) * 2012-05-29 2013-12-18 腾讯科技(深圳)有限公司 一种搜索词的提取方法及装置
WO2015196907A1 (zh) * 2014-06-24 2015-12-30 北京奇虎科技有限公司 一种挖掘用户需求的搜索推送方法和装置
CN106709040A (zh) * 2016-12-29 2017-05-24 北京奇虎科技有限公司 一种应用搜索方法和服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118555A (zh) * 2007-09-10 2008-02-06 腾讯科技(深圳)有限公司 关键词的联想信息生成系统和生成方法
JP2011044122A (ja) * 2009-07-23 2011-03-03 Rakuten Inc 適切な検索クエリを提示する情報処理装置、情報処理方法、および、情報処理プログラム
US20110179021A1 (en) * 2010-01-21 2011-07-21 Microsoft Corporation Dynamic keyword suggestion and image-search re-ranking
US20110184946A1 (en) * 2010-01-28 2011-07-28 International Business Machines Corporation Applying synonyms to unify text search with faceted browsing classification
CN103455487A (zh) * 2012-05-29 2013-12-18 腾讯科技(深圳)有限公司 一种搜索词的提取方法及装置
WO2015196907A1 (zh) * 2014-06-24 2015-12-30 北京奇虎科技有限公司 一种挖掘用户需求的搜索推送方法和装置
CN106709040A (zh) * 2016-12-29 2017-05-24 北京奇虎科技有限公司 一种应用搜索方法和服务器

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111739514A (zh) * 2019-07-31 2020-10-02 北京京东尚科信息技术有限公司 一种语音识别方法、装置、设备及介质
CN111739514B (zh) * 2019-07-31 2023-11-14 北京京东尚科信息技术有限公司 一种语音识别方法、装置、设备及介质
CN111125308A (zh) * 2019-12-21 2020-05-08 深圳前海黑顿科技有限公司 一种支持语义联想的轻量级文本模糊搜索的方法
CN112434183A (zh) * 2020-11-30 2021-03-02 北京达佳互联信息技术有限公司 一种搜索结果的排序方法、装置、设备和存储介质
CN112434183B (zh) * 2020-11-30 2024-05-17 北京达佳互联信息技术有限公司 一种搜索结果的排序方法、装置、设备和存储介质
CN112800314A (zh) * 2021-01-26 2021-05-14 浙江香侬慧语科技有限责任公司 搜索引擎询问自动补全的方法、系统、存储介质及设备
CN113111150A (zh) * 2021-04-14 2021-07-13 科大讯飞股份有限公司 一种文档检索方法、装置、存储介质及设备
CN113111150B (zh) * 2021-04-14 2024-02-13 科大讯飞股份有限公司 一种文档检索方法、装置、存储介质及设备
CN113312523A (zh) * 2021-07-30 2021-08-27 北京达佳互联信息技术有限公司 字典生成、搜索关键字推荐方法、装置和服务器

Also Published As

Publication number Publication date
CN110019650B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
Qi et al. Finding all you need: web APIs recommendation in web of things through keywords search
CN108446374B (zh) 用户意图预测方法、装置、电子设备、存储介质
CN110019650A (zh) 提供搜索联想词的方法、装置、存储介质及电子设备
CN111061946B (zh) 场景化内容推荐方法、装置、电子设备及存储介质
CN103339623B (zh) 涉及因特网搜索的方法和设备
CN108153901A (zh) 基于知识图谱的信息推送方法和装置
CN109446341A (zh) 知识图谱的构建方法及装置
CN110516160A (zh) 基于知识图谱的用户建模方法、序列推荐方法
CN107908789A (zh) 用于生成信息的方法和装置
JP2020523714A (ja) 推奨情報の取得方法及び装置、電子機器
US20180052823A1 (en) Hybrid Classifier for Assigning Natural Language Processing (NLP) Inputs to Domains in Real-Time
US20180089316A1 (en) Seamless integration of modules for search enhancement
CN110597962B (zh) 搜索结果展示方法、装置、介质及电子设备
CN110162695A (zh) 一种信息推送的方法及设备
CN107402954A (zh) 建立排序模型的方法、基于该模型的应用方法和装置
CN105677780A (zh) 可拓展的用户意图挖掘方法及其系统
CN108416028A (zh) 一种搜索内容资源的方法、装置及服务器
CN110209922A (zh) 对象推荐方法、装置、存储介质及计算机设备
CN112732870B (zh) 基于词向量的搜索方法、装置、设备及存储介质
CN107168991A (zh) 一种搜索结果展示方法和装置
CN105740448B (zh) 面向话题的多微博时序文摘方法
CN104067273A (zh) 将搜索结果分组为简档页面
CN114663197A (zh) 商品推荐方法及其装置、设备、介质、产品
CN108475256A (zh) 从同现矩阵生成特征嵌入
CN113722583A (zh) 推荐方法、推荐模型训练方法及相关产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant