一种基于类目的搜索方法和装置
技术领域
本申请涉及搜索技术,特别是涉及一种基于类目的搜索方法和装置。
背景技术
网络上的资源非常的丰富,用户可以从网络上搜索到各行各业、各方各面的信息。可以将网络上的资源按照各自的类目进行划分,方便用户存储资源和查找资源。
一些综合性网站中,通常大的类目就有几十个,将所述大的类目精确划分后,具体的类目可能有几千个。用户在浏览所述综合性网站时,用户可以发布资源,也可以查找、下载资源,因此网站会给出类目导航栏以方便用户找到想要的资源,也便于用户定位资源的合适类目。
但是,用户要从类目导航栏的几千个类目中,按照范围由大到小的顺序查找到适合的类目是非常困难的。如购物时用户搜索时可能的搜索路径为:服装→女装→雪纺衫→短袖……→圆领→套头→修身等等。又如,上传视频时,用户的搜索路径可能为:视频→电视剧→港台……→警匪→2012等等。类目的查找、搜索方法非常繁琐,耗费的时间比较长,效率比较低。另外,用户按照范围由大到小的顺序查找类目时,需要用户所用的客户端反复向服务器发送查询请求,当用户数量较大时,势必对服务器的访问压力造成巨大影响。例如:用户的搜索路径为:服装→女装→雪纺衫→短袖……→圆领→套头→修身,当用户点击“服装”时,用户客户端会向服务器发送查询请求,服务器经过运算后将“女装”反馈给用户,当用户点击“女装”时,用户客户端会向服务器再次发送查询请求,服务器经过运算后将“雪纺衫”反馈给用户,以此类推,可见这种访问形式会给服务器造成较大的访问压力。
因此,本领域技术人员迫切解决的一个技术问题是,提出一种基于类目的搜索方法,以解决原有类目搜索中搜索方法繁琐,耗费的时间比较长,效率比较低且为服务器造成较大的访问压力的技术问题。
发明内容
本申请提供一种基于类目的搜索方法和装置,以解决原有类目搜索中搜索方法繁琐,耗费的时间比较长,效率比较低且为服务器造成较大的访问压力的技术问题。
为了解决上述问题,本申请公开了一种基于类目的搜索方法,包括:
接收平台中用户发送的搜索请求,其中,所述搜索请求中包括搜索关键词;
采用所述搜索关键词对全局类目库中的全局类目进行匹配,获取第一匹配类目,并计算所述搜索关键词和第一匹配类目的第一相似度,其中,将平台中定义的类目作为全局类目存储在全局类目库中;
获取用户的个性信息,基于所述个性信息对所述第一匹配类目进行二次匹配以获得第二匹配类目,并计算所述第二匹配类目与搜索关键词的第二相似度;
根据所述第一相似度和第二相似度,对第一匹配类目进行排序并反馈。
本申请实施例中,所述接收用户的搜索请求之后,还包括:对搜索请求中的搜索关键词进行处理,获取以下搜索项中的至少一项:中心词、单词、中心词短语和单词短语。
本申请实施例中,采用所述搜索关键词对全局类目库中的全局类目进行匹配,获取第一匹配类目,并计算所述搜索关键词和第一匹配类目的第一相似度,包括:分别采用各个搜索项对全局类目库中的全局类目进行匹配,获取每个搜索项所匹配的全局类目作为第一匹配类目,并计算对应匹配的概率值;获取各个搜索项的全局权重,按照各个搜索项的全局权重对各自概率值进行加权,计算所述搜索关键词和匹配的全局类目的第一相似度。
本申请实施例中,获取用户的个性信息,基于所述个性信息对所述第一匹配类目进行二次匹配以获得第二匹配类目,并计算所述第二匹配类目与搜索关键词的第二相似度,包括:获取用户的个性信息,并采用所述个性信息对所述第一匹配类目进行二次匹配,获取对应的第二匹配类目;获取搜索项中的中心词和/或单词,计算获取的搜索项对所述第二匹配类目的概率值;获取各个搜索项的个性权重,按照各个搜索项的个性权重对各自概率值进行加权,计算所述搜索关键词和第二匹配类目的第二相似度。
本申请实施例中,计算所述搜索关键词和第一匹配类目的第一相似度之后,还包括:根据预设的筛选阈值,按照各自的第一相似度对所述第一匹配类目进行筛选,获取筛选后的第一匹配类目。
本申请实施例中,根据所述第一相似度和第二相似度,对第一匹配类目进行排序并反馈给用户,包括:获取第一匹配类目的类目权重,按照所述类目权重对第一匹配类目的第一相似度进行加权;针对基于个性信息进行二次匹配的第一匹配类目,将加权后的第一相似度与二次匹配获得的第二匹配类目的第二相似度求和;对所述第一匹配类目进行排序并反馈。
本申请实施例中,在电子商务领域中,所述全局类目库为对产品标题进行处理获取产品处理项后,计算所述产品标题对应的类目中所述产品处理项的概率后构成的。
本申请实施例中,在电子商务领域中,若用户为卖家,则所述用户的个性信息是对所述卖家发布的产品标题进行处理获取卖家处理项后,计算所述卖家对应的类目中所述卖家处理项的概率后构成的。
本申请实施例中,在电子商务领域中,若用户为买家,则所述用户的个性信息是对所述买家浏览的产品标题进行处理获取买家处理项后,计算所述产品标题对应的类目中所述买家处理项的概率后构成的。
相应的,本发明还公开了一种基于类目的搜索装置,包括:
接收模块,用于接收平台中用户发送的搜索请求,其中,所述搜索请求中包括搜索关键词;
全局搜索模块,用于采用所述搜索关键词对全局类目库中的全局类目进行匹配,获取第一匹配类目,并计算所述搜索关键词和第一匹配类目的第一相似度,其中,将平台中定义的类目作为全局类目存储在全局类目库中;
个性搜索模块,用于获取用户的个性信息,基于所述个性信息对所述第一匹配类目进行二次匹配以获得第二匹配类目,并计算所述第二匹配类目与搜索关键词的第二相似度;
排序并反馈模块,用于根据所述第一相似度和第二相似度,对第一匹配类目进行排序并反馈给用户。
与现有技术相比,本申请包括以下优点:
首先,现有技术在搜索类目时要按照范围由大到小的顺序依次查找,方法非常繁琐,耗费的时间比较长,效率比较低。本申请可以从用户的搜索请求中获取搜索关键词,然后分别进行基于全局类目库的匹配和基于个性信息的二次匹配,用户仅需要输入搜索关键词,不用机械的逐一查找,比较节省时间并且效率较高,而且避免了现有技术中按照范围由大到小的顺序进行类目查询时由于需要反复向服务器发送查询请求所造成的访问压力。其中,通过全局类目库中可以对平台中所有的全局类目进行匹配并计算第一相似度,此时获取的第一匹配类目非常的全面;在此基础上,再按照个性信息进行二次匹配时并计算第二相似度,此时获取的第二匹配类目非常的符合用户的历史行为,可以更加贴合用户的需求。然后再按照各自的相似度对第一匹配类目进行排序反馈给用户。本申请搜索出来的类目非常的全面,并且符合用户的需求,可以给用户提供准确、全面、贴合需求的类目搜索结果。
其次,本申请可以对搜索请求中的搜索关键词进行处理,获取细化的搜索项,然后根据各个搜索项,对全局类目库中的全局类目进行匹配后得到第一匹配类目,再基于个性信息进行二次匹配,获取第二匹配类目。从而可以获取得到比较精确的匹配结果,进而搜索关键词和第一匹配类目的第一相似度,以及搜索关键词和第二匹配类目的第二相似度都比较准确,给用户反馈准确、全面结果。
再次,本申请可以预设筛选阈值,对第一匹配类目进行筛选,从而可以减少反馈一些相似度比较低的第一匹配类目,减少资源的浪费。
再次,本申请可以应用于在电子商务领域中,既可以为买家搜索产品时推荐合适的类目,也可以为卖家发布产品时推荐合适的类目,应用非常的全面,贴合用户需求。
附图说明
图1是本申请实施例所述一种基于类目的搜索方法流程图;
图2是本申请实施例所述一种基于类目的搜索方法中全局类目库的匹配流程图;
图3是本申请实施例所述一种基于类目的搜索方法中个性信息的匹配流程图;
图4是本申请优选实施例所述一种基于类目的搜索方法中排序并反馈的流程图;
图5是本申请优选实施例所述一种基于类目的搜索方法示意图;
图6是本申请实施例所述一种基于类目的搜索装置结构图;
图7是本申请优选实施例所述一种基于类目的搜索装置结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,给出了本申请实施例所述一种基于类目的搜索方法流程图。
步骤101,接收平台中用户发送的搜索请求;
一些综合性网站中,通常定义的大的类目就有几十个,将所述大的类目精确划分后,具体的类目可能有几千个。若将一个网站看作一个平台,则所述平台中定义的类目可能有几千个,当用户在平台中进行类目搜索时,在搜索框中输入搜索关键词以后,可以触发发送搜索请求,其中,可以将所述搜索关键词作为搜索请求的传递参数,则所述搜索请求中包括搜索关键词,因此对应接收到用户发送的搜索请求后,还可以从搜索请求的传递参数中获取搜索关键词。
后续可以根据搜索请求中的搜索关键词,进行全局搜索和个性搜索,其中,将平台中定义的类目作为全局类目,因此所述全局搜索是对平台中定义的所有类目进行搜索。而个性类目是对全局搜索中匹配出的类目进行二次匹配,从而使得匹配的类目更符合用户的需求。
步骤102,全局搜索中采用所述搜索关键词对全局类目库中的全局类目进行匹配,获取第一匹配类目,并计算所述搜索关键词和第一匹配类目的第一相似度;
本申请中将平台中定义的类目作为全局类目存储在全局类目库中,在全局搜索中,可以采用所述搜索关键词对全局类目库中的全局类目进行匹配,例如,搜索关键词为“apple”,则从全局类目库中匹配出来的全局类目可以包括手机类、平板电脑类、笔记本电脑类、水果类和干果类等,将上述匹配出的全局类目作为第一匹配类目。
然后可以计算所述搜索关键词和第一匹配类目的第一相似度,其中,X和Y相似度指的是X和Y相关的可能程度,则第一相似度指的可以是搜索关键词和第一匹配类目匹配的可能性。
一种计算方法可以如,计算在给定搜索关键词Q的情况下全局类目C的概率值P(C|Q),将所述概率值P(C|Q)作为所述搜索关键词和第一匹配类目的第一相似度。
其中,概率又称或然率、机会率、机率或可能性,是数学概率论的基本概念,是一个在0到1之间的实数,是对随机事件发生的可能性的度量。则表示一个事件发生的可能性大小的数,叫做该事件的概率,那么概率值就是一个事件发生的可能性的值。
则P(C|Q)指的可以是搜索关键词Q属于全局类目C的可能性的值,也即搜索关键词Q和全局类目C匹配的可能性,因此可以将P(C|Q)作为Q和C的第一相似度。如P(C|Q)=30%,则说明搜索关键词Q有30%的可能性属于全局类目C,则说明所述搜索关键词和第一匹配类目匹配的可能性是0.3,即第一相似度是0.3。
步骤103,获取用户的个性信息,基于所述个性信息对所述第一匹配类目进行二次匹配以获得第二匹配类目,并计算第二匹配类目与搜索关键词的第二相似度;
平台中的每一个用户都有其在平台中的活动轨迹,例如,浏览页面,发送消息等,这些平台中的活动轨迹可以构成用户的个性信息。
为了使搜索结果更符合用户的需求,可以对上述的第一匹配类目,进行基于用户的个性信息的二次匹配,并计算所述第二匹配类目与搜索关键词的第二相似度。
如上例中的搜索关键词“apple”,第一匹配类目包括手机类、平板电脑类、笔记本电脑类、水果类和干果类。如果用户的个性信息中仅包括电子类产品,则在基于个性信息进行二次匹配时,获取到的第二匹配类目为手机类、平板电脑类和笔记本电脑类。
再进一步计算所述搜索关键词和第二匹配类目的第二相似度,则所述第二相似度指的可以是搜索关键词和第二匹配类目匹配的可能程度。同样可以计算在给定搜索关键词Q的情况下第二匹配类目C'的概率值P(C'|Q),即确定搜索关键词Q属于第二匹配类目C'的可能性,也就确定了搜索关键词Q和第二匹配类目C'匹配的可能程度,即可以将所述概率值P(C'|Q)作为所述搜索关键词和第二匹配类目的第二相似度。
步骤104,根据所述第一相似度和第二相似度,对第一匹配类目进行排序并反馈。
上述获取到了第一匹配类目以及第一相似度,并通过个性信息对第一匹配类目进行二次匹配后,获取到了对第二匹配类目以及第二相似度,可以按照相似度对第一匹配类目进行排序。
其中,有些第一匹配类目同时包含第一相似度和第二相似度,而有些第一匹配类目仅包含第一相似度,因此,在对匹配的全局类目进行排序之前,可以先计算各个第一匹配类目的总相似度。因此,有些第一匹配类目的总相似度为第一相似度和第二相似度的和,如上例中的手机类、平板电脑类和笔记本电脑类;而有些第一匹配类目的总相似度只是第一相似度,如上例中的水果类和干果类。然后将所有第一匹配类目,按照对应的总相似度进行排序,并将排序后的结果反馈给用户。
综上所述,现有技术在搜索类目时要按照范围由大到小的顺序依次查找,方法非常繁琐,耗费的时间比较长,效率比较低且服务器的访问压力较大。本申请可以从用户的搜索请求中获取搜索关键词,然后分别进行基于全局类目库的匹配和基于个性信息的二次匹配,用户仅需要输入搜索关键词,不用机械的逐一查找,比较节省时间、效率较高,并且降低了服务器的访问压力。其中,通过全局类目库可以对平台中所有的全局类目进行匹配并计算第一相似度,此时第一匹配类目非常的全面;在此基础上,再按照个性信息进行二次匹配时并计算第二相似度,此时获取的第二匹配类目非常的符合用户的历史行为,可以更加贴合用户的需求。然后再按照各自的相似度对第一匹配类目进行排序反馈给用户。本申请搜索出来的类目非常的全面,并且符合用户的需求,可以给用户提供准确、全面、贴合需求的类目搜索结果。
优选的,所述接收用户的搜索请求之后,还包括:
对搜索请求中的搜索关键词进行处理,获取以下搜索项中的至少一项:中心词、单词、中心词短语和单词短语。
例如,在电子商务网站中,用户输入的搜索关键词中可以包含短语或单词,其中所述单词在语义理解上可以分为两类,一类是明确基本产品类型的产品词,例如car,bus等,这类词称为中心词(CenterWord);另外一类是修饰上述产品词的其他词汇,例如blue car中的blue,这类词称为修饰词汇(NormalWord),或直接称为单词。
对于短语(Noun Phrase,NP)而言,可以依据上述的中心词和单词(修饰词汇),同样将短语分为两类,即包含中心词的短语也称中心短语(CenterNP),包含单词的短语则称为单词短语(NormalNP)。
假设一个搜索关键词Q经过中心词抽取之后得到:
Q={NWs,CWs,NPs,CNPs} (1)
其中,NWs表示所有单词的集合,CWs表示所有中心词的集合,NPs表示所有单词短语的集合,CNPs表示所有中心短语的集合。
针对网站所有产品的文本信息,如产品标题等,可以做相同的理解。本申请中可以使用中心词抽取工具(Center Word Extractor,CWE)实现对产品标题或者搜索关键词的处理。在预测查询关键字和类目的相关性时,中心词、单词、中心词短语和单词短语对于匹配的全局类目的影响是不同的,具体实施中可以通过权重来衡量。
优选的,在电子商务领域中,所述全局类目库是对产品标题进行处理获取产品处理项后,计算所述产品标题对应的类目中所述产品处理项的概率后构成的。
上述论述的文本处理方法同样适用于对产品标题的处理,具体包括:
2.1文本处理;
采用中心词抽取工具抽取产品标题中的产品处理项,包括中心词、单词、中心词短语和普通短语,并且对所述产品词进行去根处理,如lights和lighting去根处理后时light。
2.2概率计算;
计算给定产品处理项的情况下全局类目的概率分布,即确定该产品处理项属于该全局类目的可能性,然后以所述产品处理项为关键词(KEY)建立全局类目库的索引。即通过所述关键词(KEY)可以找到各全局类目,以及找到KEY属于各全局类目的可能性。
例如,经过文本处理后,查找的候选的全局类目(GetInitialCandidate),可以建立字典,包括中心词和中心词周边词的共现词典(coccurIndex),例如“a b c”是一个产品标题,c是中心词,则可以将中心词周边词“a b”和“bc”都作为KEY,分别将“a c”和“b c”在各个全局类目下出现的次数作为关键值(Value)加入到全局类目库的索引中:
{“a c”,(cat1,cnt1)(cat2,cnt2).....}
{“b c”,(cat1,cnt1)(cat2,cnt2).....}
单词或者短语在全局类目下的先验概率索引与此类似,对应可以得到先验概率索引(catTokenIndex)。
通过上述的方法,后续获取到搜索关键词后,可以将所述搜索关键词与共现词典进行匹配,确定匹配的KEY及对应的Value,并根据Value确定第一匹配类目,再后续计算第一相似度。
进一步,在上述处理的基础上还可以进行模型训练,从而获取每个产品处理项的全局权重,具体如下:
2.3模型训练;
预设搜索关键词中的产品处理项和全局类目,建立训练数据集合,并标记所述各个产品处理项和全局类目的相关性的值,然后可以采取RANK-SVM模型在训练数据上学习,得到每种产品处理项的全局权重,即中心词、单词、中心词短语和单词短语的全局权重。
其中,选择RANK-SVM模型来训练全局权重,其基本原理是通过SVM模型求解估计概率P的参数,则所述参数即为全局权重,所述全局权重是产品处理项相对于全局类目的重要程度。产品处理项分为中心词、单词、中心词短语和单词短语,例如,中心词为iphone 4s,单词为apple,则通过iphone4s确定属于电子产品的次数大于通过apple确定属于电子产品的次数,因此可以理解的是,对于同一全局类目,以中心词确定产品标题属于所述全局类目的次数,大于以单词确定属于所述全局类目的次数。也即对于全局类目而言中心词重要性相对高一些,单词的重要性相对低一些,例如,通过计算中心词、单词、中心词短语和单词短语的全局权重分别为0.4、0.2、0.3、0.1。
其中,所述SVM(Support Vector Machine,支持向量机)是一种可训练的机器学习方法。本申请实例中在机器学习方法方面,除了采用RANK-SVM模型以外,还可以采用其它机器学习算法,如Pranking,Rankboost以及其他Learning-To-Rank模型。
优选的,在电子商务领域中,若用户为卖家,则所述个性信息包括所述卖家发布的产品标题,则所述用户的个性信息是对所述卖家发布的产品标题进行处理获取卖家处理项后,计算所述卖家对应的类目中所述卖家处理项的概率后构成的。若用户为买家,则所述个性信息包括所述买家浏览的产品标题,则所述用户的个性信息是对所述买家浏览的产品标题进行处理获取买家处理项后,计算所述产品标题对应的类目中所述买家处理项的概率后构成的。
在对用户的数据进行处理以得到个性信息时,可以对文本进行处理。其中,若用户为卖家,则主要针对所述卖家发布的产品标题进行处理;若用户为买家,则主要针对所述买家浏览的产品标题进行处理。其中,卖家处理项和买家处理项可以包括中心词和单词,可以不划分出中心词短语和单词短语,而具体处理方法与上述全局类目库建立方法中2.1文本处理基本一致,此处不再赘述。
在概率计算中,若用户为卖家,则计算卖家处理项在所述卖家对应的类目中的概率分布。如所述卖家销售的主要是电子产品,所述卖家对应的类目包括手机、mp3/mp4和电脑配件,则对所述卖家发布的产品标题进行处理获取卖家处理项后,就计算卖家处理项在手机、mp3/mp4和电脑配件中的概率分布。然后可以获取到所述卖家的个性信息。
若用户为买家,则计算买家处理项在所述产品标题对应的类目中所述买家处理项的概率。如根据买家浏览的产品标题,获取到所述产品标题对应的类目,即所述卖家浏览的类目包括:连衣裙、女鞋、皮包和衬衫,则对所述买家浏览的产品标题进行处理获取买家处理项后,可以计算所述买家处理项在连衣裙、女鞋、皮包和衬衫中的概率分布,进而获取所述买家的个性信息。
后续可以采用上述“2.2概率计算”的方法计算概率,并采用上述“2.3模型训练”中的方法,确定各个买家处理项和卖家处理项的个性权重,此处不再赘述。
参照图2,给出了本申请实施例所述一种基于类目的搜索方法中全局类目库的匹配流程图。
全局搜索是对平台中的全局类目进行匹配,具体方法包括:
采用所述搜索关键词对全局类目库中的全局类目进行匹配,获取第一匹配类目,并计算所述搜索关键词和第一匹配类目的第一相似度,包括:
步骤201,分别采用各个搜索项对全局类目库中的全局类目进行匹配,获取每个搜索项所匹配的全局类目作为第一匹配类目,并计算对应匹配的概率值;
通过上述方法获取到了搜索关键词处理后的搜索项,包括中心词、单词、中心词短语和单词短语。全局类目库中也包括产品处理项,即所述产品标题对应的中心词、单词、中心词短语和单词短语,以及所述产品标题对应的全局类目中的概率。
因而,可以分别采用每个搜索项对全局类目库中的全局类目进行匹配,获取第一匹配类目。然后在所述全局类目库中,获取每个搜索项对应第一匹配类目的概率值,即给定搜索项的情况下所述第一匹配类目的概率值。如搜索项中的中心词,与全局类目库中某个全局类目对应的中心词匹配,则所述中心词在全局类目库中的概率值即为所述搜索项中的中心词的概率值。
步骤202,获取各个搜索项的全局权重,按照各个搜索项的全局权重对各自概率值进行加权,计算所述搜索关键词和第一匹配类目的第一相似度。
所述搜索关键词和第一匹配类目的第一相似度,是由各搜索项的概率值构成的,由于各搜索项的相对于第一匹配类目的重要程度是不同的,因此就需要通过全局权重在标注各搜索项的重要程度,即所述全局权重指的是各搜索项的概率值相对于所述第一相似度的重要程度。本申请实施例中若搜索项与全局类目库中的产品处理项匹配,则该产品处理项的全局权重可以作对所述搜索项的全局权重。
通过上述的处理方法可以获取各个搜索项的全局权重,然后按照各个搜索项的全局权重对各自概率值进行加权,计算得到所述搜索关键词和第一匹配类目的第一相似度。
一种处理方法可以在上述公式(1)的基础上,计算给定搜索关键词情况下第一匹配类目的概率值,具体公式如下:
P(C|Q)=P(C|(NWs,CWs,NPs,CNPs)) (2)
考虑到中心词、单词、中心词短语和单词短语在全局类目的预测中的影响不同,即中心词、单词、中心词短语和单词短语在所述全局类目中的全局权重不同。并且中心词、单词、中心词短语和单词短语之间互相独立,上述条件概率的概率公式(2)可以转化为:
P(C|Q)=P(C|(NWs,CWs,NPs,CNPs))
=p(C|NWs)wBWs*p(C|CWs)wCWs*p(C|NPs)wNPs*p(C|CNPs)wCNPs (3)
其中:wNWs为NWs即单词对应的全局权重,wCWs为CWs即中心词对应的全局权重,wNPs为NPs即单词短语对应的全局权重,wCNPs为CNPs即中心短语对应的全局权重。
其中,P(C|NWs)为单词在第一匹配类目C中的概率分布,因此其概率估计可以展开为如下公式的形式:
P(C|NWs)=P(C|(nw1,nw2...nwk))=P(C|nw1)*P(C|nw2)...P(C|nwk) (4)
并且,公式(3)中的每个因子都可以采取如公式(4)的形式进行展开。
则搜索关键词Q和第一匹配类目C的相似度可以按照上述公式(3)进行计算。而在实际计算中为了求解方便,对公式(3)两边进行对数log计算,具体公式如下:
log(p(C|Q))=wNWs*log(p(C|NWs))+wCWs*log(p(c|CWs))+wNPs*
log(p(c|NPs))+wCNPs*log(p(c|CNPs))
(5)
经过上述变换,可以将搜索关键词Q和第一匹配类目C的概率计算公式转换为线性模型参数的求解问题,公式(5)也可以作为搜索关键词和第一匹配类目之间的相似度的量化指标的计算公式。
在公式(3)中,搜索关键词Q和第一匹配类目C的概率依赖两个数据,一个是NWs、CWs、NPs和CNPs在第一匹配类目C下的概率分布,另外一个是NWs、CWs、NPs和CNPs对应的权重,即wNWs、wCWs、wNPs和wCNPs。
具体实施中,例如电子商务平台中,单词的概率分布P(C|W)可以通过统计平台中产品标题对应的词,在所有全局类目下的先验分布得到,即单词W在全局类目C中的频率除以单词W出现的总频率作为P(C|W)的估计。其中,中心词、单词短语和中心短语的概率分布计算方法相同,此处不再赘述。另外,对于单词W在C中没有出现的情况可以对其赋予默认值。
参照图3,给出了本申请实施例所述一种基于类目的搜索方法中个性信息匹配流程图。
除了对全局进行搜索以外,还可以考虑用户自身的偏好,在基于全局类目库的匹配中获取到匹配结果的基础上,可以根据用户偏好对全局搜索的类目进行重排,即二次匹配。
通常在电子商务网站中,卖家所经营的领域是有限且集中的,即卖家通常所经营的产品的类目是有限的,并且集中在几个类目中。比如“Plastic Mat”在卖家A和卖家B中分别对应茶杯垫和地垫,在上述全局搜索中,卖家A和B将会得到排序一致的推荐结果。本申请在全局搜索的基础上进一步改进推荐,实现针对不同卖家的个性推荐,可以根据卖家A和卖家B所经营的产品的类目的不同,推荐给不同卖家排序不一致的推荐结果。考虑用户自身的偏好,对个性信息进行匹配的方法具体包括:
优选的,所述获取用户的个性信息,基于所述个性信息对所述第一匹配类目进行二次匹配以获得第二匹配类目,并计算所述第二匹配类目与搜索关键词的第二相似度,包括:
步骤301,获取用户的个性信息,并采用所述个性信息对所述第一匹配类目进行二次匹配,获取对应的第二匹配类目;
在对个性信息进行匹配时,可以获取用户的个性信息,然后采用该个性信息对所述第一匹配类目进行二次匹配,获取对应的第二匹配类目。
步骤302,获取搜索项中的中心词和/或单词,计算获取的搜索项对所述第二匹配类目的概率值;
在对个性信息进行处理时,可以获取搜索项中的中心词或单词,或者同时获取中心词和单词。然后可以在给定搜索项的情况下,计算所述第二匹配类目的概率值。
步骤303,获取各个搜索项的个性权重,按照各个搜索项的个性权重对各自概率值进行加权,计算所述搜索关键词和第二匹配类目的第二相似度。
本申请实施例中由于不同搜索项相对第二匹配类目的影响是不同的,因此可以采用个性权重标注所述搜索项对第二匹配类目的重要程度,所述个性权重的计算方法与全局权重基本一致,此处不再赘述。
在获取各个搜索项的个性权重后,可以按照各个搜索项的个性权重对各自概率值进行加权,再将加权后的概率值求和,计算所述搜索关键词和第二匹配类目的第二相似度,具体计算方法与上述全局搜索中的计算方法类似,此处不再赘述。
上述基于个性信息的处理可视为个性化推荐,由于在卖家所在的公司范围内,将单词短语和中心短语作为个性化推荐的特征较难以形成统计意义,因此主要考虑全局搜索中的单词NWs和中心词CNWs在用户范围内的数据表现。以卖家为例,单词或中心词的分布限定在卖家公司范围内,即限定在所述卖家发布的产品标题对应的类目范围内。例如,单词W在公司Comp下在类目C的概率分布P(C|(W,Comp)),由W在公司Comp中出现在类目C下的次数除以W在Comp中出现的总次数算得的先验概率表示。
优选的,计算所述搜索关键词和第一匹配类目的第一相似度之后,还包括:
根据预设的筛选阈值,按照各自的第一相似度对所述第一匹配类目进行筛选,获取筛选后的第一匹配类目。
假设一个搜索关键词Q经过全局搜索后,得到推荐的第一匹配类目集合为{C1,C2,C3,C4......},所述第一匹配类目按照公式(5)的分数从大到小排列。
为了提供给用户比较精确的搜索结果,鉴于一个产品所属的类目有限,并且减少资源的浪费,因此本申请预设了筛选阈值,推荐的第一匹配类目集合中的一些相似度的值比较低,无法达到筛选阈值要求的第一匹配类目将被直接剔除,即只有相似度达到筛选阈值要求的第一匹配类目才会进入个性化推荐流程。
例如,可以采用第一匹配类目和最优第一匹配类目之间的分数比值来度量是否达到筛选阈值的要求。其中,所述最优第一匹配类目是指相似度最高的第一匹配类目。
如因为公式(5)得到的结果是负数,因此当排在后面的第一匹配类目和最优第一匹配类目C1之间的倍数超过筛选阈值T时,可以认为该第一匹配类目及之后的第一匹配类目都与搜索关键词Q相关性不大,即第一相似度无法达到筛选阈值的要求,不会进入后续的个性搜索流程中。
当然,所述筛选阈值也可以用于对第一匹配类目数量进行限制,例如,设置筛选阈值为10,则仅获取推荐的第一匹配类目集合中的前10个第一匹配类目。本申请对于第一匹配类目的筛选方法不做限定。
参照图4,给出了本申请优选实施例所述一种基于类目的搜索方法中排序并反馈的流程图。
优选的,根据所述第一相似度和第二相似度,对第一匹配类目进行排序并反馈给用户,包括:
步骤401,获取第一匹配类目的类目权重,按照所述类目权重对第一匹配类目的第一相似度进行加权。
由于第一匹配类目和第二匹配类目对于最终的搜索结果的影响不同,因此本申请实施例中对于第一匹配类目也设置了类目权重,所述类目权重的计算方法与上文基本一致,此处不再赘述。
因此就可以按照所述类目权重对第一匹配类目的第一相似度进行加权。从而确定出每个第一匹配类目的相似度。
步骤402,检测所述第一匹配类目是否基于个性信息进行了二次匹配。
本申请实施例中有些第一匹配类目仅包含第一相似度,而有些第一匹配类目还基于个性信息进行了二次匹配,从而确定了第二匹配类目,即该第一匹配类目既包含第一相似度,也包含二次匹配获得的第二匹配类目的第二相似度。因此,在按照相似度对第一匹配类目进行排序之前,要先确定各第一匹配类目的总相似度。
则仅包含第一相似度的第一匹配类目的总相似度就是上述加权后的第一相似度,如上例中水果类和干果类的总相似度就是其加权后的第一相似度。
若是,即所述第一匹配类目基于个性信息进行了二次匹配,则后续执行步骤403;若否,即所述第一匹配类目未进行二次匹配,则后续执行步骤404。
步骤403,将加权后的第一相似度和与二次匹配获得的第二匹配类目的第二相似度求和。
而针对基于个性信息进行了二次匹配的第一匹配类目,将加权后的第一相似度和与二次匹配获得的第二匹配类目的第二相似度求和,即其总相似度就是加权后的第一相似度和所述第二相似度的和。如上例中的手机类、平板电脑类和笔记本电脑类,其总相似度就是加权后的第一相似度和所述第二相似度的和。
步骤403,对所述第一匹配类目进行排序并反馈。
最终将各个第一匹配类目按照各自的总相似度进行排序,并将排序后的搜索结果反馈给用户。
例如,全局搜索中获取到第一匹配类目为A1、B1、C1和D1,对应第一相似度的值分别为15、9、8、2,第一匹配类目的类目权重为1.5。在个性搜索中的得到第二匹配类目为B1和D1,其对应的第二相似度的值为10和5。则最终各个第一匹配类目的总相似度分别为:
A1:15*1.5=22.5;
B1:9*1.5+10=23.5;
C1:8*1.5=12;
D1:2*1.5+5=8
对第一匹配类目进行排序,反馈给用户的搜索结果即为B、A、C和D。
参照图5,给出了本申请优选实施例所述一种基于类目的搜索方法示意图。
搜索关键词Query经过预处理(preprocess),即CWE处理后进入候选的全局类目查找过程,即全局类目搜索(catGlobalRec)。
在全局搜索流程中将加载各个特征即搜索项对应的全局权重,同时查找先验概率索引(catTokenIndex)确定第一匹配类目,并根据公式(5)计算推荐分数即第一相似度的值。
全局搜索之后,按照排序后第一匹配类目和最优第一匹配类目之间的分数倍数筛选第一匹配类目,筛选后的第一匹配类目进入个性搜索阶段。
个性搜索可以查找用户维度下的信息,即在全局推荐基础上的重新排序(catCompanyRerank)。
然后进入后处理过程(postprocess),主要是按照工程需要对推荐结果做一些简单过滤,比如限定推荐的第一匹配类目个数N等,最后得到N个第一匹配类目推荐给用户。
通过上述的方法,在前三个推荐的第一匹配类目上,可以模拟用户对推荐的第一匹配类目标注正确(即用户要搜索的类目相关)和错误(即用户要搜索的类目不相关),在一个囊括35个大行业的搜索集合(包含1000个搜索关键词)上,获取的准确率如下表1:
第一匹配类目排名(Position) |
准确率(Precision) |
1 |
95% |
2 |
92% |
3 |
86% |
表1
通过表1可知,推荐的第一个第一匹配类目的准确率为95%,推荐的第二个第一匹配类目的准确率为92%,推荐的第三个第一匹配类目的准确率为86%。
本申请降低了电子商务领域中,平台上由于推荐不准确而导致卖家发布的产品的类目错放比例。随机抽查网站新发布的产品的全局类目,该比例下降2%。本申请因此无论是从推荐精度还是从其直接或间接影响都有了较大幅度的提升,并且能够为所有搜索关键词提供精准的类目推荐服务。
综上所述,本申请可以对搜索请求中的搜索关键词进行处理,获取细化的搜索项,然后根据各个搜索项,对全局类目库中的全局类目进行匹配后得到第一匹配类目,再基于个性信息进行二次匹配,获取第二匹配类目。从而可以获取得到比较精确的匹配结果,进而搜索关键词和第一匹配类目的第一相似度,以及搜索关键词和第二匹配类目的第二相似度都比较准确,给用户反馈准确、全面的结果。
其次,本申请可以预设筛选阈值,对第一匹配类目进行筛选,从而可以减少反馈一些相似度比较低的第一匹配类目,减少资源的浪费。
再次,本申请可以应用于在电子商务领域中,既可以为买家搜索产品时推荐合适的类目,也可以为卖家发布产品时推荐合适的类目,应用非常的全面,贴合用户需求。
参照图6,是本申请实施例所述一种基于类目的搜索装置结构图。
相应的,本申请还提供了一种基于类目的搜索装置,包括:接收模块11、全局搜索模块12、个性搜索模块13和排序并反馈模块14,其中:
接收模块11,用于接收平台中用户发送的搜索请求,其中,所述搜索请求中包括搜索关键词;
全局搜索模块12,用于全局搜索中采用所述搜索关键词对全局类目库中的全局类目进行匹配,获取第一匹配类目,并计算所述搜索关键词和第一匹配类目的第一相似度,其中,将平台中定义的类目作为全局类目存储在全局类目库中;
个性搜索模块13,用于获取用户的个性信息,基于所述个性信息对所述第一匹配类目进行二次匹配以获得第二匹配类目,并计算所述第二匹配类目与搜索关键词的第二相似度;
排序并反馈模块14,用于根据所述第一相似度和第二相似度,对第一匹配类目进行排序并反馈给用户。
参照图7,本申请优选实施例所述一种基于类目的搜索装置结构图。
优选的,本申请还提供了一种优选的基于类目的搜索装置,包括:
接收模块21,用于接收平台中用户发送的搜索请求,其中,所述搜索请求中包括搜索关键词;
优选的,所述的装置还包括:
关键词处理模块22,用于对搜索请求中的搜索关键词进行处理,获取以下搜索项中的至少一项:中心词、单词、中心词短语和单词短语。
全局搜索模块23,用于全局搜索中采用所述搜索关键词对全局类目库中的全局类目进行匹配,获取第一匹配类目,并计算所述搜索关键词和第一匹配类目的第一相似度,其中,将平台中定义的类目作为全局类目存储在全局类目库中;
优选的,全局搜索模块23包括:
匹配子模块231,用于分别采用各个搜索项对全局类目库中的全局类目进行匹配,获取每个搜索项所匹配的全局类目作为第一匹配类目,并计算对应匹配的概率值;
计算子模块232,用于获取各个搜索项的全局权重,按照各个搜索项的全局权重对各自概率值进行加权,计算所述搜索关键词和第一匹配类目的第一相似度。
优选的,所述的装置还包括:
筛选模块24,用于根据预设的筛选阈值,按照各自的第一相似度对所述第一匹配类目进行筛选,获取筛选后的第一匹配类目。
个性搜索模块25,用于获取用户的个性信息,基于所述个性信息对所述第一匹配类目进行二次匹配以获得第二匹配类目,并计算所述第二匹配类目与搜索关键词的第二相似度;
优选的,所述个性搜索模块25包括:
获取子模块251,用于获取用户的个性信息,并采用所述个性信息对所述第一匹配类目进行二次匹配,获取对应的第二匹配类目;
第一计算子模块252,用于获取搜索项中的中心词和/或单词,计算获取的搜索项对所述第二匹配类目的概率值;
第二计算子模块253,用于获取各个搜索项的个性权重,按照各个搜索项的个性权重对各自概率值进行加权,计算所述搜索关键词和第二匹配类目的第二相似度。
排序并反馈模块26,用于根据所述第一相似度和第二相似度,对第一匹配类目进行排序并反馈给用户。
优选的,所述排序并反馈模块26包括:
加权子模块261,用于获取第一匹配类目的类目权重,按照所述类目权重对第一匹配类目的第一相似度进行加权;
求和子模块262,用于针对基于个性信息进行二次匹配的第一匹配类目,将加权后的第一相似度与二次匹配获得的第二匹配类目的第二相似度求和;
排序并反馈子模块263,用于对所述第一匹配类目进行排序并反馈。
优选的,在电子商务领域中,所述全局类目库为对产品标题进行处理获取产品处理项后,计算所述产品标题对应的类目中所述产品处理项的概率后构成的。
优选的,在电子商务领域中,若用户为卖家,则所述用户的个性信息是对所述卖家发布的产品标题进行处理获取卖家处理项后,计算所述卖家对应的类目中所述卖家处理项的概率后构成的。
优选的,在电子商务领域中,若用户为买家,则所述用户的个性信息是对所述买家浏览的产品标题进行处理获取买家处理项后,计算所述产品标题对应的类目中所述买家处理项的概率后构成的。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的基于类目的搜索方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。