CN103279486A - 一种提供相关搜索的方法和装置 - Google Patents
一种提供相关搜索的方法和装置 Download PDFInfo
- Publication number
- CN103279486A CN103279486A CN2013101459585A CN201310145958A CN103279486A CN 103279486 A CN103279486 A CN 103279486A CN 2013101459585 A CN2013101459585 A CN 2013101459585A CN 201310145958 A CN201310145958 A CN 201310145958A CN 103279486 A CN103279486 A CN 103279486A
- Authority
- CN
- China
- Prior art keywords
- query
- candidate
- user
- bunch
- current
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种提供相关搜索(RS)的方法和装置,在线下RS挖掘过程中,将历史搜索日志中的各搜索项(query)分别作为当前query执行以下步骤将与当前query共现于同一会话的其他query构成当前query的候选RS;依据相似度对当前query的候选RS进行聚类得到当前query对应的候选RS簇,保存当前query对应的候选RS簇至数据库;线上RS提供过程:获取数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇;选择搜索次数排在前N1个的候选RS簇,将选择的候选RS簇中搜索次数排在前N2个的候选RS确定为用户当前输入的query的RS。本发明能够为用户提供更有效的RS,节省用户搜索时间和节约网络资源。
Description
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种提供相关搜索的方法和装置。
【背景技术】
搜索效果好不好很多时候取决于用户输入的搜索项(query)是否恰当,但很多时候用户往往并不能准确输入能够获得想要的搜索结果的query,而希望获得一些参考,相关搜索(RS)就是搜索引擎提供的与用户输入的query相似的一系列query,通常可以分布在搜索结果页的下方或者输入框的下方。
现有技术中提供RS的方式是根据用户输入的query,查找尽可能包含用户输入的query中大部分的词项(term)的高频query。例如用户输入的query为“明星X”,那么输出的RS如图1所示,包括:“明星X素颜照”、“明星X豪宅”、“明星X男友”、“明星X短发”、“明星X素颜”、“明星X古装”、“明星X生活照”、“明星X比基尼”。然而,现有技术中提供RS的方式存在以下缺陷:
其一、可能会造成提供的RS集中在某一个或若干个语义类别上,存在大量的语义类别重复,这就造成给用户的参考信息量很少,如图1中所示的情况,可以看出“明星X素颜照”、“明星X素颜”、“明星X短发”和“明星X生活照”都属于对明星X模样上的描述,“明星X古装”和“明星X比基尼”都属于着装类的。RS所占用的页面资源是有限的,如果存在大量语义类别上的重复就不能给用户提供更广泛的搜索建议,例如用户可能希望获得明星X弟弟类的相关搜索,但可能其搜索频度并没有以上几个RS的高,就没有机会作为RS展现。
其二、现有技术中RS仅仅是字面上与用户输入的query存在包含关系的相关query,对于与其关系密切但并不包含用户输入的query的相关query,则无法作为RS。例如传说中明星X豪宅的名称就无法作为RS展示给用户。
这样用户就需要自己不断变换输入的query,并从输入的各query的搜索结果中查找自己想要的信息,一方面操作繁琐,另一方面也浪费了网络资源。
【发明内容】
有鉴于此,本发明提供了一种提供相关搜索的方法和装置,以便于为用户提供更有效的RS,节省用户的搜索时间和节约网络资源。
具体技术方案如下:
一种提供相关搜索RS的方法,该方法包括:
在线下RS挖掘过程中,将历史搜索日志中的各搜索项query分别作为当前query执行以下步骤S01至步骤S02:
S01、将与当前query共现于同一会话session的其他query构成当前query的候选RS;
S02、依据相似度对当前query的候选RS进行聚类得到当前query对应的候选RS簇,保存当前query对应的候选RS簇至数据库;
线上RS提供过程:
S11、获取用户当前输入的query;
S12、获取所述数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇;
S13、选择在所述历史搜索日志中搜索次数排在前N1个的候选RS簇,将选择的候选RS簇中在所述历史搜索日志中搜索次数排在前N2个的候选RS确定为用户当前输入的query的RS,所述N1和N2为预设的正整数。
根据本发明一优选实施例,在所述步骤S01中还包括:
将表达相同语义的query归一化为相同的表述。
根据本发明一优选实施例,在所述步骤S01和所述步骤S02之间还包括:
将与当前query共现于同一session的次数小于预设次数阈值的候选RS过滤掉。
根据本发明一优选实施例,在所述步骤S02中进行聚类时所采用的相似度计算方法具体包括:
确定与RSi共现于同一个session的query构成的query列表以及各query对应的与所述RSi的共现于同一个session的次数,所述RSi为所述候选RS中的一个RS;
将RSi的query列表与所述当前query的候选RS构成的列表求交集;
通过以下公式计算RSi与RSj之间的相似度P(RSi,RSj),所述RSj为所述求交集得到的集合中的一个RS:
其中所述Co_Count(RSi,RSj)为RSi和RSj的共现于同一个session中的次数,R为所述求交集后得到的集合。
根据本发明一优选实施例,在所述步骤S12之前还包括:
查询所述数据库中是否存在与用户当前输入的query表达相同语义的query,如果是,执行所述步骤S12。
根据本发明一优选实施例,若所述数据库中存在所述用户当前输入的query,或者存在将用户当前输入的query进行归一化处理后得到的query,则确定所述数据库中存在与用户当前输入的query表达相同语义的query。
根据本发明一优选实施例,所述归一化包括以下处理中的至少一种:
对query进行去除停用词的处理;
将query中的词替换为指定的同义词;
将query中错误的书写转化为正确的书写。
根据本发明一优选实施例,候选RS簇在所述历史搜索日志中的搜索次数为该候选RS簇包含的候选RS的搜索次数之和。
根据本发明一优选实施例,在所述步骤S13之后还包括:
S14、将所述用户当前输入的query的RS展示在用户当前输入的query的搜索结果页上。
根据本发明一优选实施例,所述步骤S14具体包括:
将选择的每个候选RS簇中搜索次数排在第一个的RS直接展示在所述搜索结果页上,选择的每个候选RS簇中的其他RS以下拉框的形式隐藏展示在所述搜索结果页上。
一种提供RS的装置,该装置包括:线下RS挖掘单元和线上RS提供单元;
所述线下RS挖掘单元将历史搜索日志中的各query分别作为当前query进行处理,包括:
候选子单元,用于将与当前query共现于同一session的其他query构成当前query的候选RS;
聚类子单元,用于依据相似度对当前query的候选RS进行聚类得到当前query对应的候选RS簇,保存当前query对应的候选RS簇至数据库;
所述线上RS提供单元包括:
query获取子单元,用于获取用户当前输入的query;
候选获取子单元,用于获取所述数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇;
RS确定子单元,用于选择在所述历史搜索日志中搜索次数排在前N1个的候选RS簇,将选择的候选RS簇中在所述历史搜索日志中搜索次数排在前N2个的候选RS确定为用户当前输入的query的RS,所述N1和N2为预设的正整数。
根据本发明一优选实施例,所述候选子单元,还用于将表达相同语义的query归一化为相同的表述。
根据本发明一优选实施例,所述线下RS挖掘单元还包括:过滤子单元,用于在所述候选子单元得到的候选RS中,将与当前query共现于同一session的次数小于预设次数阈值的候选RS过滤掉。
根据本发明一优选实施例,所述聚类子单元进行聚类时所采用的相似度计算方法具体包括:
确定与RSi共现于同一个session的query构成的query列表以及各query对应的与所述RSi的共现于同一个session的次数,所述RSi为所述候选RS中的一个RS;
将RSi的query列表与所述当前query的候选RS构成的列表求交集;
通过以下公式计算RSi与RSj之间的相似度P(RSi,RSj),所述RSj为所述求交集得到的集合中的一个RS:
其中所述Co_Count(RSi,RSj)为RSi和RSj的共现于同一个session中的次数,R为所述求交集后得到的集合。
根据本发明一优选实施例,所述线上RS提供单元还包括:判断子单元,用于查询所述数据库中是否存在与用户当前输入的query表达相同语义的query,如果是,触发所述候选获取子单元执行获取所述数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇的操作。
根据本发明一优选实施例,若所述数据库中存在所述用户当前输入的query,或者存在将用户当前输入的query进行归一化处理后得到的query,则所述判断子单元确定所述数据库中存在与用户当前输入的query表达相同语义的query。
根据本发明一优选实施例,所述归一化包括以下处理中的至少一种:
对query进行去除停用词的处理;
将query中的词替换为指定的同义词;
将query中错误的书写转化为正确的书写。
根据本发明一优选实施例,候选RS簇在所述历史搜索日志中的搜索次数为该候选RS簇包含的候选RS的搜索次数之和。
根据本发明一优选实施例,所述线上RS提供单元还包括:RS展示子单元,用于将所述用户当前输入的query的RS展示在用户当前输入的query的搜索结果页上。
根据本发明一优选实施例,所述RS展示子单元在进行所述展示时,具体执行:将选择的每个候选RS簇中搜索次数排在第一个的RS直接展示在所述搜索结果页上,选择的每个候选RS簇中的其他RS以下拉框的形式隐藏展示在所述搜索结果页上。
由以上技术方案可以看出,本发明在线下RS挖掘过程中依据各query共现于同一session的状况选择候选RS以及通过聚类处理确定出各query对应的候选RS簇,在线上RS提供过程中就能够确定出用户当前输入的query对应的候选RS簇,从中依据搜索次数选择并提供当前输入的query的RS,通过这种方式能够在有限的RS展示资源中提供更多不同语义类型的RS,还能够提供在同一个语义类型下的若干个RS,也就是说能够提供更有效的RS,帮助用户快速了解更多有用的RS,用户不必多次变换输入的query来从不同的搜索结果中获取想要的信息,节省用户的搜索时间和节约网络资源。
【附图说明】
图1为现有技术中RS的一个实例图;
图2为本发明实施例所适用的***结构图;
图3为本发明实施例一提供的方法流程图;
图4为本发明实施例一提供的一种RS实例图;
图5为图4所示RS实例图中展现下拉框时的示意图;
图6为本发明实施例二提供的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明适用的***如图2所示,用户设备中的浏览器或客户端将用户输入的query发送给搜索服务器端,大多数情况下用户通过在搜索页面中的输入框中输入query,也可以通过诸如在浏览器地址框中输入query来触发浏览器或客户端将该query发送给搜索服务器。搜索服务器中的搜索引擎根据该用户输入的query进行搜索,并由RS提供装置提供RS,搜索服务器将包含搜索结果和RS的搜索结果页发送给用户设备中的浏览器或客户端,供浏览器或客户端展现给用户。其中用户设备可以是但不限于:手机、平板电脑、笔记本等移动设备,或者PC等固定电脑。本发明提供的方法由搜索服务器端的RS提供装置实现,下面通过实施例一对本发明提供的方法进行详细描述。
实施例一、
本发明提供的方法主要包括两个阶段,第一个阶段是线下RS挖掘过程,第二个阶段是线上RS提供过程。第一个阶段主要完成从历史搜索日志中挖掘query的RS并按照语义相似度进行聚类;第二个阶段主要完成根据用户输入的query确定对应的RS聚类,并依据聚类提供RS。图3为本发明实施例一提供的方法流程图,如图3所示,步骤301至步骤303为线下RS挖掘过程,将历史搜索日志中的各query分别作为当前query执行以下步骤301至步骤303,优选地,可以获取预定时间段内的历史搜索日志中的各query,例如每隔一天对RS进行一次挖掘,从而更能体现出近期的搜索热度。
步骤301:将与当前query共现于同一session的其他query构成当前query的候选RS,分别统计各候选RS与当前query共现于同一session的次数。
在本发明实施例中可以采用预设的时间粒度对历史搜索日志进行切分,按照用户搜索的时间将query切分到不同的session中,例如按照15分钟进行切分,这样就得到很多用户的session。然后将与当前query共现于同一session的其他query都作为当前query的候选RS。本步骤是基于用户在进行搜索时,通常会转换不同的相关query来从搜索结果中找到希望看到的信息,也就是说,同一session中前后搜索的query之间通常具有较高的相关性,适 合作为RS被推荐的几率很大,本发明就是基于这一理论基础。
假设切分得到表1至表6中所示的6个session:
表1
搜索时间 | query |
20:35:26 | 明星X |
20:35:29 | 明星X卖萌 |
20:36:24 | 明星X走红地毯 |
20:36:45 | 明星X时装周 |
20:37:02 | 明星X戛纳 |
表2
搜索时间 | query |
16:22:41 | 明星X龙袍装 |
16:22:43 | 明星X |
17:10:49 | 明星X的车 |
17:14:41 | 明星X钜豪灯饰 |
17:14:48 | 明星X的钻石手表 |
17:15:05 | 明星X别墅 |
17:16:41 | 明星X豪车 |
17:17:00 | 明星X大奔 |
表3
搜索时间 | query |
21:56:09 | 明星X走红地毯 |
21:56:42 | 明星X获奖 |
21:57:03 | 明星X戛纳 |
表4
搜索时间 | query |
10:58:57 | 明星X旗袍装 |
10:59:20 | 明星X走红地毯 |
10:59:22 | 明星X时装周 |
表5
搜索时间 | query |
21:47:18 | 明星X龙袍装 |
21:47:27 | 明星X时装周 |
[0088]
21:47:29 | 明星X走红地毯 |
表6
搜索时间 | query |
18:50:56 | 明星X戛纳 |
18:51:42 | 明星X走t台 |
18:52:46 | 明星X走红地毯 |
假设要挖掘的当前query为“明星X”,则将所有与“明星X”在同一个session中共现过的query都挖掘出来作为“明星X”的候选RS,得到的候选RS如表7所示。
表7
“明星X”的候选RS |
明星X卖萌 |
明星X走红地毯 |
明星X时装周 |
明星X戛纳 |
明星X龙袍装 |
明星X的车 |
明星X钜豪灯饰 |
明星X的钻石手表 |
明星X别墅 |
明星X豪车 |
明星X大奔 |
在确定候选RS时,可以将表达相同语义的各query进行归一化为相同的表述,以节约存储空间并加快处理过程,候选RS与当前query共现于同一session的次数(即候选RS与当前query共现于同一session的session个数)为该候选RS所来源的query与当前query共现于同一session的次数总和。
进行归一化时,进行的处理可以包括但不限于:对query进行去除停用词的处理,例如将“明星X的男友”归一化为“明星X男友”;将query中的词替换为指定的同义词,例如将“明星X男朋友”归一化为“明星X男友”;纠错,即将错误的书写转化为正确的书写,例如将“宋慧桥老公”归一化为 “宋慧乔老公”。
步骤302:将与当前query共现于同一session的次数小于预设次数阈值的候选RS过滤掉。
与当前query共现于同一session的次数较少的,说明其出现在同一session中可能具有偶然性,是相关query的可能性较小。上述预设次数阈值可以采用经验值或实验值,例如采用5。本步骤的目的是为了提高后续过程中的效率,也可以不执行本步骤。
步骤303:依据相似度对当前query的候选RS进行聚类得到当前query对应的候选RS簇,保存当前query对应的候选RS簇至数据库。
聚类已经是非常成熟的方法了,在此不再详细介绍,可以采用诸如k-means算法,k值(即最后得到的RS簇个数)可以根据实际需求进行设定。聚类后,同一个簇内的对象之间相似度满足一定要求,即聚类的效果往往取决于对象间的相似度度量方法,在本发明实施例中簇内的对象为各候选RS。在本发明实施例中虽然也可以采用传统的余弦相似度计算方法,通过词之间的重叠关系来衡量语义关系,但对于两个对象之间的需求关系则不能很好的反映。因此,本发明实施例中提供了一种衡量不同候选RS之间相似度的方法,假设要确定当前query中的某个候选RS,记为RSi与其他候选RS之间的相似度,则可以采用以下方式:
首先确定与RSi共现于同一个session的query构成的query列表以及各query对应的与该RSi的共现于同一个session的次数。以RSi为“明星X走红地毯”为例,获得的query列表以及各query对应的共现于同一个session次数(在表8中简称共现次数)如表8中所示。
表8
query列表 | 共现次数 |
明星X | 2 |
明星X卖萌 | 1 |
明星X时装周 | 3 |
明星X戛纳 | 3 |
[0103]
明星X获奖 | 1 |
明星X旗袍装 | 1 |
明星X龙袍装 | 1 |
明星X走t台 | 1 |
然后将RSi的query列表与当前query的所有候选RS构成的列表求交集。假设上例中进行求交集后得到的query与对应的共现次数如表9中所示。
表9
求交集后的query | 共现次数 |
明星X卖萌 | 1 |
明星X时装周 | 3 |
明星X戛纳 | 3 |
明星X龙袍装 | 1 |
最后通过如下公式计算RSi与求交集后得到的各query之间的相似度:
其中,P(RSi,RSj)为RSi与RSj之间的相似度,Co_Count(RSi,RSj)为RSi和RSj的共现于同一个session中的次数,R为上述求交集后得到的所有query构成的集合。
接续上例,“明星X走红地毯”与表9中各query之间的相似度如表10中所示。
表10
相似度 | 相似度的值 |
P(明星X走红地毯,明星X卖萌) | 1/8=0.125 |
P(明星X走红地毯,明星X时装周) | 3/8=0.375 |
P(明星X走红地毯,明星X戛纳) | 3/8=0.375 |
P(明星X走红地毯,明星X龙袍装) | 1/8=0.125 |
在进行聚类之后,就可以获得当前query“明星X”对应的候选RS簇。在进行存储时,会同时存储候选RS簇中各候选RS对应的搜索次数,各候选 RS簇对应的搜索次数,其中候选RS簇对应的搜索次数为该候选RS簇包含的所有候选RS的搜索次数之和。假设对所有session(不限于表1至表6所示例的session)按照上述步骤进行聚类后,得到如表11中所示的聚类结果。
表11
在针对每一个query都执行了上述步骤301至步骤303之后,数据库中就建立起了各query对应的候选RS的聚类结果。其中一个query存在其对应的候选RS的同时,也可能作为其他query的候选RS。下面的步骤为线上RS提供过程:
步骤304:获取用户当前输入的query。
步骤305:查询上述数据库中是否存在与用户当前输入的query表达相同语义的query,如果是,执行步骤306;否则,按照现有技术中的方式确定并提供用户当前输入的query的RS。
在本步骤中查询上述数据库中是否存在与用户当前输入的query表达相同语义的query可以包括两种情况:一种就是查询上述数据库中是否存在用户当前输入的query,如果存在就确定数据库中存在与用户当前输入的query表达相同语义的query。另一种就是查询上述数据库中是否存在将用户当前输入的query进行归一化处理后得到的query,如果存在就确定数据库中存在与用户当前输入的query表达相同语义的query。其中归一化的方式与上述步骤301中描述的归一化方式相同,不再赘述。
如果上述数据库中不存在与用户当前输入的query表达相同语义的query,则可以按照现有技术中的方式或者其他方式确定并提供用户当前输入的query的RS,例如确定历史搜索日志中包含用户当前输入的query中的核心词且搜索频率满足预设搜索频率要求的query作为RS。
步骤306:获取上述数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇。
步骤307:选择搜索次数排在前N1个的候选RS簇,将选择的候选RS 簇中搜索次数排在前N2个的候选RS确定为用户当前输入的query的RS,其中N1和N2为预设的正整数。
也就是说在选择候选RS簇时,是按照候选RS簇的搜索次数进行的排序,在候选RS簇中选择要展示的RS时,是按照候选RS的搜索次数进行的排序,因为搜索次数反映了候选RS和候选RS簇的搜索热度。
步骤308:将确定的RS展示在当前用户输入的query的搜索结果页中,其中选择的每个候选RS簇中搜索次数排在第一个的RS直接展示在搜索结果页上,选择的每个候选RS簇中的其他RS以下拉框的形式隐藏展示在搜索结果页上。
以用户当前输入的query为“明星X”为例,假设选择出的候选RS簇为表11中的RS簇1至RS簇5,则将各簇中搜索次数排在第一个的RS直接展示在搜索结果页上,如图4所示。
当用户鼠标点击RS“明星X走红毯”右侧的下拉三角时,通过下拉框的形式展现出“明星X走红毯”所属候选RS簇中确定的其他RS,如图5所示。
从上面的实例中可以看出,通过本发明提供的这种方法不仅能够在有限的RS展示资源中看到更多不同语义类型的RS,还能够看到同一个语义类型下的多个RS,从而提供更有效的RS,帮助用户快速了解更多有用的RS,用户不必多次变换输入的query来从不同的搜索结果中获取想要的信息,节约用户操作和网络资源。
在进行展示时,除了采用上述的展示方式之外,还可以采用其他展示方式,诸如将所有确定的RS都直接展示在搜索结果页中,或者选择的每个候选RS簇中搜索次数排在第一个的RS直接展示在搜索结果页上,选择的每个候选RS簇中的其他RS以浮动框(当鼠标移动至该候选RS簇中第一个RS上时显示该浮动框)的形式展示在搜索结果页上。
以上是对本发明所提供的方法进行的详细描述,下面结合实施例二对本发明提供的装置进行详细描述。
实施例二、
图6为本发明实施例二提供的装置结构图,该装置对应图2所示***中的RS提供装置,如图6所示,该装置包括线下RS挖掘单元00和线上RS提供单元10。
线下RS挖掘单元00将历史搜索日志中的各query分别作为当前query进行处理,包括:候选子单元01、过滤子单元02和聚类子单元03。
其中候选子单元01将与当前query共现于同一session的其他query构成当前query的候选RS。优选地,候选子单元01还会将表达相同语义的query归一化为相同的表述,以节约存储空间并加快处理过程。
进行归一化时,进行的处理可以包括但不限于:对query进行去除停用词的处理;将query中的词替换为指定的同义词;纠错,即将错误的书写转化为正确的书写。
然后过滤子单元02在候选子单元01得到的候选RS中,将与当前query共现于同一session的次数小于预设次数阈值的候选RS过滤掉。与当前query同现于同一session的次数较少的,说明其出现在同一session中可能具有偶然性,是相关query的可能性较小。上述预设次数阈值可以采用经验值或实验值,例如采用5。该过滤子单元02的目的是为了提高后续过程中的效率,也可以不包含该过滤子单元02。
聚类子单元03依据相似度对当前query的候选RS进行聚类得到当前query对应的候选RS簇,保存当前query对应的候选RS簇至数据库。本发明实施例中可以采用诸如k-means算法,k值(即最后得到的RS簇个数)可以根据实际需求进行设定。聚类后,同一个簇内的对象之间相似度满足一定要求,即聚类的效果往往取决于对象间的相似度度量方法,在本发明实施例中簇内的对象为各候选RS。在本发明实施例中虽然也可以采用传统的余弦相似度计算方法,通过词之间的重叠关系来衡量语义关系,但对于两个对象之间的需求关系则不能很好的反映。因此,本发明实施例中提供了一种衡量不同候选RS之间相似度的方法,假设要确定当前query中的某个候选RS,记 为RSi与其他候选RS之间的相似度,则可以采用以下方式:
首先确定与RSi共现于同一个session的query构成的query列表以及各query对应的与该RSi共现于同一个session的次数;然后将RSi的query列表与当前query的候选RS构成的列表求交集;再通过以下公式计算RSi与RSj之间的相似度P(RSi,RSj),RSj为求交集得到的集合中的一个RS:
其中Co_Count(RSi,RSj)为RSi和RSj的共现于同一个session中的次数,R为求交集后得到的集合。
上述线上RS提供单元10包括:query获取子单元11、候选获取子单元12和RS确定子单元13。
其中query获取子单元11用于获取用户当前输入的query。
候选获取子单元12获取数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇。
RS确定子单元13选择在历史搜索日志中搜索次数排在前N1个的候选RS簇,将选择的候选RS簇中在历史搜索日志中搜索次数排在前N2个的候选RS确定为用户当前输入的query的RS,N1和N2为预设的正整数,候选RS簇在历史搜索日志中的搜索次数为该候选RS簇包含的候选RS的搜索次数之和。也就是说在选择候选RS簇时,是按照候选RS簇的搜索次数进行的排序,在候选RS簇中选择要展示的RS时,是按照候选RS的搜索次数进行的排序,因为搜索次数反映了候选RS和候选RS簇的搜索热度。
除此之外,线上RS提供单元10还可以包括:判断子单元14,用于查询数据库中是否存在与用户当前输入的query表达相同语义的query,如果是,触发候选获取子单元12执行获取数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇的操作;否则,可以按照现有技术中的方式或者其他方式确定并提供用户当前输入的query的RS,例如确定历史搜索日志中包含用户 当前输入的query中的核心词且搜索频率满足预设搜索频率要求的query作为RS。
具体地,若数据库中存在用户当前输入的query,或者存在将用户当前输入的query进行归一化处理后得到的query,则判断子单元14确定数据库中存在与用户当前输入的query表达相同语义的query。其中判断子单元14进行的归一化包括以下处理中的至少一种:
对query进行去除停用词的处理;
将query中的词替换为指定的同义词;
将query中错误的书写转化为正确的书写。
更进一步地,线上RS提供单元10还包括:RS展示子单元15,用于将用户当前输入的query的RS展示在用户当前输入的query的搜索结果页上。具体地,可以将选择的每个候选RS簇中搜索次数排在第一个的RS直接展示在搜索结果页上,选择的每个候选RS簇中的其他RS以下拉框的形式展示隐藏展示在搜索结果页上。除了采用上述的展示方式之外,还可以采用其他展示方式,诸如将所有确定的RS都直接展示在搜索结果页中,或者选择的每个候选RS簇中搜索次数排在第一个的RS直接展示在搜索结果页上,选择的每个候选RS簇中的其他RS以浮动框(当鼠标移动至该候选RS簇中第一个RS上时显示该浮动框)的形式展示在搜索结果页上。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元 中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (20)
1.一种提供相关搜索RS的方法,其特征在于,该方法包括:
在线下RS挖掘过程中,将历史搜索日志中的各搜索项query分别作为当前query执行以下步骤S01至步骤S02:
S01、将与当前query共现于同一会话session的其他query构成当前query的候选RS;
S02、依据相似度对当前query的候选RS进行聚类得到当前query对应的候选RS簇,保存当前query对应的候选RS簇至数据库;
线上RS提供过程:
S11、获取用户当前输入的query;
S12、获取所述数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇;
S13、选择在所述历史搜索日志中搜索次数排在前N1个的候选RS簇,将选择的候选RS簇中在所述历史搜索日志中搜索次数排在前N2个的候选RS确定为用户当前输入的query的RS,所述N1和N2为预设的正整数。
2.根据权利要求1所述的方法,其特征在于,在所述步骤S01中还包括:
将表达相同语义的query归一化为相同的表述。
3.根据权利要求1所述的方法,其特征在于,在所述步骤S01和所述步骤S02之间还包括:
将与当前query共现于同一session的次数小于预设次数阈值的候选RS过滤掉。
4.根据权利要求1所述的方法,其特征在于,在所述步骤S02中进行聚类时所采用的相似度计算方法具体包括:
确定与RSi共现于同一个session的query构成的query列表以及各query对应的与所述RSi的共现于同一个session的次数,所述RSi为所述候选RS中的一个RS;
将RSi的query列表与所述当前query的候选RS构成的列表求交集;
通过以下公式计算RSi与RSj之间的相似度P(RSi,RSj),所述RSj为所述求交集得到的集合中的一个RS:
其中所述Co_Count(RSi,RSj)为RSi和RSj的共现于同一个session中的次数,R为所述求交集后得到的集合。
5.根据权利要求1所述的方法,其特征在于,在所述步骤S12之前还包括:
查询所述数据库中是否存在与用户当前输入的query表达相同语义的query,如果是,执行所述步骤S12。
6.根据权利要求5所述的方法,其特征在于,若所述数据库中存在所述用户当前输入的query,或者存在将用户当前输入的query进行归一化处理后得到的query,则确定所述数据库中存在与用户当前输入的query表达相同语义的query。
7.根据权利要求2或6所述的方法,其特征在于,所述归一化包括以下处理中的至少一种:
对query进行去除停用词的处理;
将query中的词替换为指定的同义词;
将query中错误的书写转化为正确的书写。
8.根据权利要求1所述的方法,其特征在于,候选RS簇在所述历史搜索日志中的搜索次数为该候选RS簇包含的候选RS的搜索次数之和。
9.根据权利要求1所述的方法,其特征在于,在所述步骤S13之后还包括:
S14、将所述用户当前输入的query的RS展示在用户当前输入的query的搜索结果页上。
10.根据权利要求9所述的方法,其特征在于,所述步骤S14具体包括:
将选择的每个候选RS簇中搜索次数排在第一个的RS直接展示在所述搜索结果页上,选择的每个候选RS簇中的其他RS以下拉框的形式隐藏展示在所述搜索结果页上。
11.一种提供RS的装置,其特征在于,该装置包括:线下RS挖掘单元和线上RS提供单元;
所述线下RS挖掘单元将历史搜索日志中的各query分别作为当前query进行处理,包括:
候选子单元,用于将与当前query共现于同一session的其他query构成当前query的候选RS;
聚类子单元,用于依据相似度对当前query的候选RS进行聚类得到当前query对应的候选RS簇,保存当前query对应的候选RS簇至数据库;
所述线上RS提供单元包括:
query获取子单元,用于获取用户当前输入的query;
候选获取子单元,用于获取所述数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇;
RS确定子单元,用于选择在所述历史搜索日志中搜索次数排在前N1个的候选RS簇,将选择的候选RS簇中在所述历史搜索日志中搜索次数排在前N2个的候选RS确定为用户当前输入的query的RS,所述N1和N2为预设的正整数。
12.根据权利要求11所述的装置,其特征在于,所述候选子单元,还用于将表达相同语义的query归一化为相同的表述。
13.根据权利要求11所述的装置,其特征在于,所述线下RS挖掘单元还包括:过滤子单元,用于在所述候选子单元得到的候选RS中,将与当前query共现于同一session的次数小于预设次数阈值的候选RS过滤掉。
14.根据权利要求11所述的装置,其特征在于,所述聚类子单元进行聚类时所采用的相似度计算方法具体包括:
确定与RSi共现于同一个session的query构成的query列表以及各query对应的与所述RSi的共现于同一个session的次数,所述RSi为所述候选RS中的一个RS;
将RSi的query列表与所述当前query的候选RS构成的列表求交集;
通过以下公式计算RSi与RSj之间的相似度P(RSi,RSj),所述RSj为所述求交集得到的集合中的一个RS:
其中所述Co_Count(RSi,RSj)为RSi和RSj的共现于同一个session中的次数,R为所述求交集后得到的集合。
15.根据权利要求11所述的装置,其特征在于,所述线上RS提供单元还包括:判断子单元,用于查询所述数据库中是否存在与用户当前输入的query表达相同语义的query,如果是,触发所述候选获取子单元执行获取所述数据库中与用户当前输入的query表达相同语义的query对应的候选RS簇的操作。
16.根据权利要求15所述的装置,其特征在于,若所述数据库中存在所述用户当前输入的query,或者存在将用户当前输入的query进行归一化处理后得到的query,则所述判断子单元确定所述数据库中存在与用户当前输入的query表达相同语义的query。
17.根据权利要求12或16所述的装置,其特征在于,所述归一化包括以下处理中的至少一种:
对query进行去除停用词的处理;
将query中的词替换为指定的同义词;
将query中错误的书写转化为正确的书写。
18.根据权利要求11所述的装置,其特征在于,候选RS簇在所述历史搜索日志中的搜索次数为该候选RS簇包含的候选RS的搜索次数之和。
19.根据权利要求11所述的装置,其特征在于,所述线上RS提供单元还包括:RS展示子单元,用于将所述用户当前输入的query的RS展示在用户当前输入的query的搜索结果页上。
20.根据权利要求19所述的装置,其特征在于,所述RS展示子单元在进行所述展示时,具体执行:将选择的每个候选RS簇中搜索次数排在第一个的RS直接展示在所述搜索结果页上,选择的每个候选RS簇中的其他RS以下拉框的形式隐藏展示在所述搜索结果页上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310145958.5A CN103279486B (zh) | 2013-04-24 | 2013-04-24 | 一种提供相关搜索的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310145958.5A CN103279486B (zh) | 2013-04-24 | 2013-04-24 | 一种提供相关搜索的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103279486A true CN103279486A (zh) | 2013-09-04 |
CN103279486B CN103279486B (zh) | 2019-03-08 |
Family
ID=49062006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310145958.5A Active CN103279486B (zh) | 2013-04-24 | 2013-04-24 | 一种提供相关搜索的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103279486B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617266A (zh) * | 2013-12-03 | 2014-03-05 | 北京奇虎科技有限公司 | 个性化扩展搜索方法及装置、*** |
CN105446984A (zh) * | 2014-06-30 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种扩展词对的筛选方法及装置 |
CN105955988A (zh) * | 2016-04-19 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 信息搜索方法和装置 |
CN107330672A (zh) * | 2017-07-03 | 2017-11-07 | 北京拉勾科技有限公司 | 一种基于相似度的信息处理方法、装置及计算设备 |
CN107679030A (zh) * | 2017-09-04 | 2018-02-09 | 北京京东尚科信息技术有限公司 | 基于用户操作行为数据提取同义词的方法和装置 |
CN108647730A (zh) * | 2018-05-14 | 2018-10-12 | 中国科学院计算技术研究所 | 一种基于历史行为共现的数据划分方法及*** |
CN109857926A (zh) * | 2019-03-05 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | 用于呈现信息的方法和装置 |
CN110442760A (zh) * | 2019-07-24 | 2019-11-12 | 银江股份有限公司 | 一种问答检索***的同义词挖掘方法及装置 |
US10635678B2 (en) | 2014-12-23 | 2020-04-28 | Alibaba Group Holding Limited | Method and apparatus for processing search data |
WO2021196934A1 (zh) * | 2020-04-02 | 2021-10-07 | 深圳壹账通智能科技有限公司 | 一种基于字段相似度计算的问题推荐方法、装置和服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161311A1 (en) * | 2009-12-28 | 2011-06-30 | Yahoo! Inc. | Search suggestion clustering and presentation |
CN102419778A (zh) * | 2012-01-09 | 2012-04-18 | 中国科学院软件研究所 | 一种挖掘查询语句子话题并聚类的信息搜索方法 |
CN102479223A (zh) * | 2010-11-25 | 2012-05-30 | ***通信集团浙江有限公司 | 数据查询方法及*** |
CN102609433A (zh) * | 2011-12-16 | 2012-07-25 | 北京大学 | 基于用户日志进行查询推荐的方法及*** |
CN103136223A (zh) * | 2011-11-24 | 2013-06-05 | 北京百度网讯科技有限公司 | 一种挖掘具有相似需求的查询的方法及装置 |
-
2013
- 2013-04-24 CN CN201310145958.5A patent/CN103279486B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161311A1 (en) * | 2009-12-28 | 2011-06-30 | Yahoo! Inc. | Search suggestion clustering and presentation |
CN102479223A (zh) * | 2010-11-25 | 2012-05-30 | ***通信集团浙江有限公司 | 数据查询方法及*** |
CN103136223A (zh) * | 2011-11-24 | 2013-06-05 | 北京百度网讯科技有限公司 | 一种挖掘具有相似需求的查询的方法及装置 |
CN102609433A (zh) * | 2011-12-16 | 2012-07-25 | 北京大学 | 基于用户日志进行查询推荐的方法及*** |
CN102419778A (zh) * | 2012-01-09 | 2012-04-18 | 中国科学院软件研究所 | 一种挖掘查询语句子话题并聚类的信息搜索方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617266A (zh) * | 2013-12-03 | 2014-03-05 | 北京奇虎科技有限公司 | 个性化扩展搜索方法及装置、*** |
CN105446984A (zh) * | 2014-06-30 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种扩展词对的筛选方法及装置 |
US10635678B2 (en) | 2014-12-23 | 2020-04-28 | Alibaba Group Holding Limited | Method and apparatus for processing search data |
US11347758B2 (en) | 2014-12-23 | 2022-05-31 | Alibaba Group Holding Limited | Method and apparatus for processing search data |
CN105955988A (zh) * | 2016-04-19 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 信息搜索方法和装置 |
CN107330672A (zh) * | 2017-07-03 | 2017-11-07 | 北京拉勾科技有限公司 | 一种基于相似度的信息处理方法、装置及计算设备 |
CN107330672B (zh) * | 2017-07-03 | 2021-02-26 | 北京拉勾科技有限公司 | 一种基于相似度的信息处理方法、装置及计算设备 |
CN107679030A (zh) * | 2017-09-04 | 2018-02-09 | 北京京东尚科信息技术有限公司 | 基于用户操作行为数据提取同义词的方法和装置 |
CN108647730B (zh) * | 2018-05-14 | 2020-11-24 | 中国科学院计算技术研究所 | 一种基于历史行为共现的数据划分方法及*** |
CN108647730A (zh) * | 2018-05-14 | 2018-10-12 | 中国科学院计算技术研究所 | 一种基于历史行为共现的数据划分方法及*** |
CN109857926A (zh) * | 2019-03-05 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | 用于呈现信息的方法和装置 |
CN110442760A (zh) * | 2019-07-24 | 2019-11-12 | 银江股份有限公司 | 一种问答检索***的同义词挖掘方法及装置 |
CN110442760B (zh) * | 2019-07-24 | 2022-02-15 | 银江技术股份有限公司 | 一种问答检索***的同义词挖掘方法及装置 |
WO2021196934A1 (zh) * | 2020-04-02 | 2021-10-07 | 深圳壹账通智能科技有限公司 | 一种基于字段相似度计算的问题推荐方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN103279486B (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103279486A (zh) | 一种提供相关搜索的方法和装置 | |
CN107480158A (zh) | 基于相似性得分评估内容项目与图像的匹配的方法和*** | |
CN102314491B (zh) | 多核环境下基于海量日志的类似行为模式用户识别方法 | |
KR101936362B1 (ko) | 광고 캠페인 생성 | |
US9864768B2 (en) | Surfacing actions from social data | |
CN110275920A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
CN101566986A (zh) | 联机事务处理中的数据处理方法和装置 | |
US8775423B2 (en) | Data mining across multiple social platforms | |
US20180300296A1 (en) | Document similarity analysis | |
CN107918658B (zh) | 一种商机生成方法及*** | |
CN103827852B (zh) | 在搜索引擎结果页面上聚集web页面 | |
CN103577416A (zh) | 扩展查询方法及*** | |
CN104516910A (zh) | 在客户端服务器环境中推荐内容 | |
US9754015B2 (en) | Feature rich view of an entity subgraph | |
US10691704B2 (en) | Domain-based search engine | |
CN102508857B (zh) | 一种基于事件关联的桌面云搜索方法 | |
CN105446990A (zh) | 一种业务数据处理方法及设备 | |
Singh et al. | Big data-a review | |
CN103226601A (zh) | 一种图片搜索的方法和装置 | |
Khodaei et al. | Temporal-textual retrieval: Time and keyword search in web documents | |
CN101339568B (zh) | 一种构建数据树的方法和装置 | |
CN109597934A (zh) | 确定点击推荐词的方法、装置、存储介质及电子设备 | |
Kim et al. | Customer preference analysis based on SNS data | |
CN105824976A (zh) | 一种优化分词库的方法和装置 | |
Juniarta et al. | Sequential pattern mining using FCA and pattern structures for analyzing visitor trajectories in a museum |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20130904 Assignee: Beijing small mutual Entertainment Technology Co., Ltd. Assignor: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. Contract record no.: 2017990000088 Denomination of invention: Method and device for providing related searches License type: Exclusive License Record date: 20170315 |
|
GR01 | Patent grant | ||
GR01 | Patent grant |