生成兴趣点查询词的改写词的方法、装置、设备及介质与流程

未命名 07-27 阅读:110 评论:0


1.本技术涉及地图检索技术领域,尤其涉及一种生成兴趣点查询词的改写词的方法、装置、设备及介质。


背景技术:

2.poi(pointofinterest,兴趣点)地理信息系统中的一个术语,泛指一切可以抽象为点的地理对象。兴趣点可以是一个景点、一个商厦、一个停车场、一所学校等。用户在利用地图或导航等搜索系统搜索兴趣点时,需要输入查询词以供检索系统基于查询词进行搜索,并返回搜索结果。由于种种原因,用户输入的查询词与搜索系统中检索库内存储的兴趣点名称存在较大差异,导致无法检索到用户想要得到的兴趣点。对此,搜索系统中设置有查询词改写模块,对用户输入的查询词进行改写,得到改写词,既基于查询词,又基于改写词在检索库中进行检索,以便返回用户想要得到的兴趣点。减少用户通过重新输入查询词进行二次搜索的次数。例如用户以“中国计量学院”为查询词进行搜索,但“中国计量学院”已经更名为“中国计量大学”,检索库中存储的兴趣点名称是“中国计量大学”、“中国计量大学-东门”等相关兴趣点名称。此时如果生成改写词“中国计量大学”,基于“中国计量大学”进行检索,则检索到用户实际想得到的关于“中国计量大学”的相关兴趣点的概率更大。查询词的改写词的恰当性,对能否准确检索并返回给用户其所想要得到的兴趣点起着至关重要的作用。
3.因此,如何生成更为恰当的改写词,以便基于改写词进行搜索得到搜索结果更为准确,成为本领域技术人员的亟需解决的问题。


技术实现要素:

4.为解决上述技术问题,本说明书实施例提供了一种生成兴趣点查询词的改写词的方法、装置、设备及介质。其可以生成更为恰当的改写词,在基于改写词在检索库中进行检索时,能更准确地检索到用户想要得到的兴趣点,以便搜索系统反馈更符合用户需要的搜索结果,减少用户二次搜索的次数。
5.本说明书实施例提供的一种生成兴趣点查询词的改写词的方法,包括:
6.获取记录有历史搜索点击信息的搜索点击日志;所述历史搜索点击信息具体包含查询词和用户输入所述查询词后选择的兴趣点信息;
7.根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度;所述两个查询词的相似度是基于所述两个查询词所共同对应的兴趣点对的数量、每个所述兴趣点对中每个兴趣点所分别对应的的查询词的数量和每个所述兴趣点对中的兴趣点所共同对应的查询词的数量计算得到的;所述第一条件为两个查询词至少共同对应一个兴趣点对;所述兴趣点对包括两个兴趣点,所述两个兴趣点中的每个兴趣点与所述两个查询词中的每个查询词均具有对应关系;
8.将所述相似度不小于第一阈值的两个查询词中的一个查询词确定为另一个查询
词的改写词。
9.本说明书实施例提供的一种计算机装置,包括:
10.第一获取模块,用于获取记录有历史搜索点击信息的搜索点击日志;所述历史搜索点击信息具体包含查询词和用户输入所述查询词后选择的兴趣点信息;
11.第一计算模块,用于根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度;所述两个查询词的相似度是基于所述两个查询词所共同对应的兴趣点对的数量、每个所述兴趣点对中每个兴趣点所分别对应的的查询词的数量和每个所述兴趣点对中的兴趣点所共同对应的查询词的数量计算得到的;所述第一条件为两个查询词至少共同对应一个兴趣点对;所述兴趣点对包括两个兴趣点,所述两个兴趣点中的每个兴趣点与所述两个查询词中的每个查询词均具有对应关系;
12.第一确定模块,用于将所述相似度不小于第一阈值的两个查询词中的一个查询词确定为另一个查询词的改写词。
13.本说明书实施例提供的一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现以上所描述的方法的步骤。
14.本说明书实施例提供的一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现以上所描述的方法的步骤。
15.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过用户的搜索点击日志中,提取出历史搜索点击信息,基于历史搜索点击信息确定查询词与兴趣点的对应关系,通过两个查询词所共同对应的兴趣点对的相关参数,计算两个查询词的相似度。根据相似度来确定查询词的改写词。也就是充分利用了查询词与用户点击行为的关系,来构建一种更稳定的查询词之间的关系。现有技术中,基于某种匹配规则如语义相似度等,对查询词进行改写,生成改写词。现有技术中生成的改写词与查询词是一种单边结构关系,考虑的只是查询词与改写词之间的关系,没有考虑查询词与最终选择的兴趣点之间关系。本方法,综合基于查询词与最终选择的兴趣点之间的关系,来建立查询词与查询词之间的改写关系。生成的改写词更加恰当、合理。基于本方法生成的改写词进行检索,可以返回高召回率和高准确率的搜索结果,减少用户二次检索的次数。
附图说明
16.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1为本说明书实施例提供的一种生成兴趣点查询词的改写词的方法的流程示意图;
18.图2为本说明书实施例提供的一种查询词与兴趣点的对应关系的示意图;
19.图3为本说明书实施例提供的一种计算机装置的结构示意图;
20.图4为本说明书实施例提供的一种计算机设备的结构示意图。
具体实施方式
21.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本说明书的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
22.以下所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
23.为了解决现有技术中的缺陷,本方案给出了以下实施例:
24.图1为本说明书实施例提供的一种生成兴趣点查询词的改写词的方法的流程示意图。
25.从硬件角度而言,该流程的执行主体可以是设备或服务器,从程序角度而言,可以是该设备或服务器处搭载的应用程序。如图1所示,该流程可以包括以下步骤:
26.步骤101:获取记录有历史搜索点击信息的搜索点击日志;所述历史搜索点击信息具体包含查询词和用户输入所述查询词后选择的兴趣点信息。
27.用户在利用地图或导航等搜索系统进行兴趣点搜索时,会输入查询词,第一次输入的查询词被称为第一查询词,搜索系统根据第一查询词进行搜索并返回给客户搜索结果或搜索结果列表。以搜索结果列表为例进行说明,第一返回的搜索结果列表被称为第一搜索结果列表。如果第一搜索结果列表中有用户想要得到的兴趣点,用户会点击该兴趣点,也就表示用户选择了该兴趣点,以便搜索系统展示该兴趣点的地图信息;或者以便搜索系统展示到达该兴趣点的规划路线等。如果第一搜索结果列表中不存在用户想要得到的兴趣点,用户会对第一查询词进行适当修改形成第二查询词,或者重新输入第二查询词,进行第二次搜索。如果第二搜索结果列表中存在用户想要得到的兴趣点,用户会点击该兴趣点。需要说明的是,对于用户进行二次搜索的情况,该兴趣点既为用户输入第一查询词后所选择的兴趣点,也为用户输入第二查询词后所选择的兴趣点。该兴趣点既与第一查询词对应,也与第二查询词对应。需要说明的是,对于用户进行三次或三次以上查询的情况,用户最终选择的兴趣点与各次输入查询词均对应。
28.例如,有的用户输入“北大”这一查询词,最终选择了“北京大学-东门”这一兴趣点,有的用户输入“北京大学”这一查询词,最终选择了“北京大学-西门”这一兴趣点,有的用户搜索“北京大学东门”,最终选择了“北京大学-东门”这一兴趣点等。这些搜索记录会以日志的形式被搜索系统记录,或者被用户的客户端记录。在获取一定数量的搜索点击日志后,从搜索点击日志中可以提取出多个查询词和多个兴趣点的历史搜索点击信息,基于历史搜索点击信息构建查询词与兴趣点的对应关系;若用户通过一个查询词进行搜索并且最终选择了一个兴趣点,则表明该查询词与该兴趣点对应。
29.步骤103:根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度;所述两个查询词的相似度是基于所述两个查询词所共同对应的兴趣点对的数量、每个所述兴趣点对中每个兴趣点所分别对应的的查询词的数量和每个所述兴趣点对中的兴趣点所共同对应的查询词的数量计算得到的;所述第一条件为两个查询词至少
共同对应一个兴趣点对;所述兴趣点对包括两个兴趣点,所述两个兴趣点中的每个兴趣点与所述两个查询词中的每个查询词均具有对应关系。
30.用户在输入某个查询词进行搜索后,最终选择了某个兴趣点,则该查询词与该兴趣点相对应。图2为本说明书实施例提供的一种查询词与兴趣点的对应关系的示意图,图2中通过实线连接的兴趣点和查询词表示两者相对应。参照图2,查询词querya分别与兴趣点poia、poib、poic相对应,兴趣点poia分别与查询词querya、queryb、queryc、queryd相对应。其中,查询词querya与兴趣点poia相对应,表明在获取的点击日志中,一个用户或多个用户,在输入查询词querya进行查询后,最终选择了兴趣点poia。需要说明的是在构建查询词与兴趣点的对应关系时,此处可以将当以某一查询词进行搜索并最终某一兴趣点被选择称之为第一事件,当第一事件发生的次数不小于预设次数时,将查询词与兴趣点建立对应关系。其中,可以将预设次数设置为50次。也就是当有50个用户分别输入某一查询词后,最终都选择了某一兴趣点,或者某一用户以某一查询词进行了50次搜索,最终都选择了某一兴趣点,或者,有多个用户分别以某一查询词进行一次或两次以上的搜索,累计进行了50次搜索,最终都选择了某一兴趣点;都可以表示第一事件发生了50次。第一事件发生50次或50次以上,则将该查询词与该兴趣点建立对应关系。也就是第一事件发生50次或50次以上,在图2中才会该兴趣点与该查询词对进行连线。
31.图2中,查询词querya与查询词queryc共同对应三个兴趣点对,三个兴趣点对分别为:兴趣点对(poia,poib)、兴趣点对(poia,poic)、兴趣点对(poib,poic)。在确定两个查询词所共同对应的兴趣点对时,有两个兴趣点均分别与这两个查询词相对应,则这两个兴趣点形成一个兴趣点对。例如确定查询词querya与查询词queryc所共同对应的兴趣点对时,兴趣点poia既与查询词querya相对应,又与查询词queryc相对应;兴趣点poib既与查询词querya相对应,又与查询词queryc相对应;则兴趣点poia和兴趣点poib形成一个兴趣点对。同理可以得出兴趣点poia和兴趣点poic形成的兴趣点对,兴趣点poib和兴趣点poic形成的兴趣点对。查询词querya与查询词queryc共同对应三个兴趣点对,数量大于等于一,符合第一条件。
32.在计算查询词querya与查询词queryc之间的相似度时,查询词querya与查询词queryc所共同对应的兴趣点对的数量为3;兴趣点对(poia,poib)中,兴趣点poia对应的查询词为查询词querya、查询词queryb、查询词queryc和查询词queryd,兴趣点poia对应的查询词的数量为4;兴趣点poib对应的查询词为查询词querya、查询词queryc、查询词querye和查询词queryf,兴趣点poib对应的查询词的数量为4;兴趣点poia和兴趣点poib所共同对应的查询词为查询词querya和查询词queryc,兴趣点poia和兴趣点poib所共同对应的查询词的数量为2;同理可以对兴趣点对(poia,poic)和兴趣点对(poib,poic),进行计算。
33.其中,如果两个查询词存在共同对应的兴趣点对,则表明用户在输入其中一个查询词进行查询时想要得到的兴趣点,可能是基于另一个查询词进行搜索返回的兴趣点。也就表明两个查询词存在一定的相似度。两个查询词所共同对应的兴趣点对的数量越多,两个查询词的相似度越高。
34.但对于单个兴趣点对而言,各个兴趣点对所表明的两个查询词存在的相似度并不完全相同。例如在一个兴趣点对中,如果该兴趣点对中的兴趣点所共同对应的查询词中除了包括上述两个查询词还包括其他的查询词,则说明这个兴趣点对表明上述两个查询词之
间存在相似度的意图并不非常明确,这个兴趣点对也可以表明多个查询词之间存在相似度,也就是说用户最终选择这两个兴趣点可能是因为这两个兴趣点的热度比较高,跟用户输入的查询词本身的关联性较小。也就是说,兴趣点对中的兴趣点所共同对应的查询词的数量越多,其表明的上述两个查询词存在的相似度越低。
35.对单个兴趣点对而言,对于其中任意一个兴趣点,如果该兴趣点对应的查询词越多,表明该兴趣点的热度越高,说明该兴趣点与查询词本身的关联性越小。每个兴趣点所对应的查询词的数量都会影响该兴趣点对所表明的上述两个查询词的相似度。每个查询词对应的查询词数量越多,该兴趣点对所表明的上述两个查询词的相似度越小。
36.步骤105:将所述相似度不小于第一阈值的两个查询词中的一个查询词确定为另一个查询词的改写词。
37.采用上述步骤计算出多个查询词之间的两两相似度后,若两个查询词的相似度不小于第一阈值,则可以将一个查询词确定为另一个查询词的改写词。以其中一个查询词为目标查询词为例,如果在多个查询词中,有若干个查询词与目标查询词的相似度均不小于第一阈值,则该若干个查询词都被确定为目标查询词的改写词。
38.进一步地,可以将目标查询词与若干个查询词建立起改写对应关系。同理,将每个查询词依次作为目标查询词,来确定改写词,并建立起改写对应关系。记录查询词与改写词的改写对应关系的数据被称为改写词典。将改写词典加载至搜索系统的查询词改写模块后,可以对查询词进行改写。以便搜索系统基于改写词进行检索。例如,在改写词典中,查询词a对应的改写词为b、c、d,当用户输入查询词a后,改写模块将查询词a改写为b、c、d,分别基于a、b、c、d进行搜索,经过排序等步骤,返回搜索结果列表。
39.图1中的方法,通过用户的搜索点击日志中,提取出历史搜索点击信息,基于历史搜索点击信息确定查询词与兴趣点的对应关系,通过两个查询词所共同对应的兴趣点对的相关参数,计算两个查询词的相似度。根据相似度来确定查询词的改写词。也就是充分利用了查询词与用户点击行为的关系,来构建一种更稳定的查询词之间的关系。现有技术中,基于某种匹配规则如语义相似度等,对查询词进行改写,生成改写词。现有技术中生成的改写词与查询词是一种单边结构关系,考虑的只是查询词与改写词之间的关系,没有考虑查询词与最终选择的兴趣点之间关系。本方法,综合基于查询词与最终选择的兴趣点之间的关系,来建立查询词与查询词之间的改写关系。生成的改写词更加恰当、合理。基于本方法生成的改写词进行检索,可以返回高召回率和高准确率的搜索结果,减少用户二次搜索的次数。
40.可选地,所述两个查询词的相似度为所述两个查询词所共同对应的各个兴趣点对的第一相似度的和;所述兴趣点对的第一相似度的计算方法,具体包括:
41.基于所述兴趣点对中的两个兴趣点所共同对应的查询词的数量,确定所述兴趣点对的第一权重;
42.基于所述兴趣点对中一个兴趣点所对应的查询词的数量,确定所述兴趣点对的第一惩罚系数;基于所述兴趣点对中的另一个兴趣点所对应的查询词的数量,确定所述兴趣点对的第二惩罚系数;
43.基于所述第一权重、第一惩罚系数和第二惩罚系数的乘积,确定所述兴趣点对的第一相似度。
44.基于之前的描述可知,对于单个兴趣点对而言,兴趣点对中每个兴趣点所分别对应的查询词的数量和兴趣点对中的兴趣点所共同对应的查询词的数量,都会对兴趣对所能表明的两个查询词的相似度造成影响。在本方法中,将兴趣点对中的两个兴趣点所共同对应的查询词的数量,兴趣点对中一个兴趣点所对应的查询词的数量,兴趣点对中的另一个兴趣点所对应的查询词的数量,这三者对兴趣点对所能表明的两个查询词的相似度造成影响,确认为是相互独立的,先分别确定其影响权重,即第一权重、第一惩罚系数和第二惩罚系数,再基于乘积的运算,来表达三者共同对单个兴趣点对所能表明的两个查询词的相似度。此处,将单个兴趣点对所能表明的两个查询词的相似度称之为第一相似度。基于之前的描述还可知,两个查询词所共同对应的兴趣点对的数量也能在一定程度上反映两个查询词的相似度,在本方法中,计算出单个兴趣点对的第一相似度后,再对两个查询词所共同对应的各个兴趣点对的第一相似度进行相加,最终得到两个查询词的相似度。也就是说,本方法中通过求和的方式来体现两个查询词所共同对应的兴趣点对的数量对两个查询词的相似度的影响程度。
45.可选地,所述确定所述兴趣点对的第一相似度,具体包括:
46.采用以下公式计算所述兴趣点对的第一相似度:
[0047][0048][0049]
其中,qu为所述兴趣点对中的一个兴趣点所对应的查询词形成的查询词集合,qv为另一个兴趣点所对应的查询词形成的查询词集合,α为平滑因子,为第一权重,为第一惩罚系数,为第二惩罚系数。|qu∩qv|表示两个兴趣点对应的查询词集合的交集中查询词的数量,也就是两个兴趣点所共同对应的查询词的数量。|qu|表示兴趣点对中,一个兴趣点所对应的查询词集合内查询词的数量,也就是一个兴趣点所对应的查询词的数量,|qv|表示兴趣点对中,另一个兴趣点所对应的查询词集合内查询词的数量,也就是另一个兴趣点所对应的查询词的数量,s
u,v
为第一相似度。
[0050]
在上一方法的基础上,基于所述兴趣点对中的两个兴趣点所共同对应的查询词的数量,确定所述兴趣点对的第一权重,具体可以是:计算平滑因子α与两个兴趣点所共同对应的查询词的数量的和,对和求倒数,得到第一权重。其中平滑因子可以根据情况设定,若经过验证后两个查询词的相似度不太符合实际情况,可对平滑因子进行修正。基于所述兴趣点对中一个兴趣点所对应的查询词的数量,确定所述兴趣点对的第一惩罚系数,具体可以是:将所述兴趣点对中一个兴趣点所对应的查询词的数量开平方根,对平方根求倒数,得到第一惩罚系数。第二惩罚系数与第一惩罚系数的计算方法相同不再赘述。
[0051]
计算出第一相似度后,采用以下公式对各个兴趣点对的第一相似度进行求和。
[0052][0053]
其中,di为两个查询词中,一个查询词所对应的兴趣点形成的兴趣点集合,dj为两个查询词中,另一个查询词所对应的兴趣点所形成的兴趣点集合。
[0054]
可选地,所述根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度,具体包括:
[0055]
构建每个查询词所对应的兴趣点集合,所述兴趣点集合内的兴趣点均与所述查询词相对应;构建每个兴趣点所对应的查询词集合,所述查询词集合内查询词均与所述兴趣点相对应;
[0056]
依次将所述查询词中的各个查询词确定为目标查询词;
[0057]
对于每个所述目标查询词,遍历所述目标查询词所对应的兴趣点集合中的任意两个兴趣点所形成的第一兴趣点对,生成每个所述第一兴趣点对中的两个兴趣点所分别对应的查询词集合的第一查询词交集;
[0058]
对于每个至少包含一个除所述目标查询词之外的查询词的第一查询词交集,计算所述第一查询词交集所对应的第一兴趣点对的第一相似度;
[0059]
对于所有第一查询词交集中的除所述目标查询词之外的每个查询词,计算所述查询词所属的所有第一查询词交集所对应的第一兴趣点对的第一相似度的和,得到所述目标查询词与所述查询词的相似度。
[0060]
基于历史搜索点击信息,构建查询词对应的兴趣点集合,以及构建兴趣点对应的查询词集合。参见图2,以对图2中的兴趣点和查询词构建相应的集合为例进行说明:兴趣点poia对应的查询词集合:qa={querya,queryb,queryc,queryd};兴趣点poib对应的查询词集合:qb={querya,queryc,querye,queryf};兴趣点poic对应的查询词集合:qc={querya,queryc,queryf}。
[0061]
查询词querya对应的兴趣点集合:da={poia,poib,poic};查询词queryb对应的兴趣点集合:db={poib};查询词queryc对应的兴趣点集合:dc={poia,poib,poic};查询词queryd对应的兴趣点集合:dd={poia};查询词querye对应的兴趣点集合:de={poib};查询词queryf对应的兴趣点集合:df={poib,poic}。
[0062]
对于从点击日志中获得的众多的查询词,计算查询词的两两相似度,方法有多种。本方法先将一个查询词确定为目标查询词,计算目标查询词与其他查询词的两两相似度,然后重复上述步骤,将其他查询词确定为目标查询词计算,直到所有的查询词被计算完毕。
[0063]
本方法中,将一个查询词确定目标查询词,计算目标查询词与其他查询词的相似度的过程如下:
[0064]
以将查询词querya为目标查询词为例,进行说明。遍历查询词querya对应的兴趣点集合da={poia,poib,poic}中任意两个兴趣点所形成的的第一兴趣点对,生成每个所述第一兴趣点对中的两个兴趣点所分别对应的查询词集合的第一查询词交集。需要说明的是,在兴趣点集合da中,任意两个兴趣点都能形成一个第一兴趣点对,两个兴趣点不需要符合第一条件。由此,兴趣点集合da会形成三个第一兴趣点对,分别为(poia,poib),(poia,poic),(poib,poic)。对这个三个第一兴趣点对进行遍历:首先基于兴趣点对(poia,poib)
生成一个第一查询词交集,该兴趣点对中,兴趣点poia对应的查询词集合为qa={querya,queryb,queryc,queryd};兴趣点poib对应的查询词集合:qb={querya,queryc,querye,queryf}。第一查询词交集则为qa∩qb={querya,queryc},该第一查询词交集包含除目标查询词querya之外的查询词queryc,计算该第一兴趣点对的第一相似度,可以采用上一方法的公式进行计算,计算得到该兴趣点对的第一相似度为:对于目标查询词querya与查询词queryc而言,也就计算出了其共同对应的一个兴趣点对的第一相似度,为然后对下一个兴趣点对(poia,poic)按照上述步骤处理,可以计算得到s
a,c
,以及s
a,c
(a,c)。此时可以对两个第一相似度进行累加,得到s(a,c)=s
a,b
(a,c)+s
a,c
(a,c);依次类推,对兴趣点对(poib,poic)按上述步骤进行处理,由于,该兴趣点对形成的第一查询词集合中,既包括了,查询词queryc又包括了查询词queryf,可以计算得到s
b,c
,s
b,c
(a,c)以及s
b,c
(a,f)。此时,可以继续对第一相似度进行累加,得到s(a,c)=s
a,b
(a,c)+s
a,c
(a,c)+s
b,c
(a,c)。由于已经遍历完毕,得到的最终结果为:目标查询词querya与查询词queryc的相似度为s(a,c)=s
a,b
(a,c)+s
a,c
(a,c)+s
b,c
(a,c);目标查询词querya与查询词queryf的相似度为:s(a,f)=s
b,c
(a,f)。需要说明是,由图2可知,目标查询词querya与查询词queryb没有共同对应的兴趣点对,不符合第一条件,两者之间的相似度不需要进行计算,认为两者没有相似度,或者相似度很低。在本方法的计算中,按照本方法形成的第一查询词集合中不会存在查询词queryb,也就无需对两者进行相似度的计算。同理,对于没有计算到的其他查询词queryd和querye,认为目标查询词querya与其没有相似度,或者相似度很低。
[0065]
其中,计算目标查询词与查询词的相似度的伪代码实现如下:
[0066]
input:输入为由用户点击日志得到的点击映射词典,
[0067]
兴趣点到查询词的点击映射词典d=[q1:{d1,...,dn},q2:{d
′1,...,d
′n}...]
[0068]
查询词到兴趣点的点击映射词典q=[d1:{q1,...,qn},d2:{q
′1,...,q
′n}...]
[0069]
平滑系数:α。
[0070]
output:目标查询词与查询词之间的相似度simi=(simi[1],...,simi[n])。
[0071][0072]
可选地,所述方法还包括:
[0073]
基于所述查询词的改写词生成改写词典;
[0074]
在查询系统中的增加第二查询词改写模块,所述第二查询词改写模块加载有所述改写词典;
[0075]
以通过所述第二查询词改写模块进行改写的查询词作为实验组,以通过第一查询词改写模块进行改写的查询词作为对照组,进行ab实验;其中,所述第一查询词改写模块未加载所述改写词典;
[0076]
基于所述ab实验的搜索结果,判断所述实验组相较于所述对照组是否有正向收益,得到第一判断结果;
[0077]
若所述第一判断结果表示没有正向收益,则对所述两个查询词的相似度计算参数进行调整。
[0078]
例如可以用线上10%的流量作为实验组,用90%的流量作为对照组进行ab实验。也就是,对于用户输入的查询词,10%利用第二查询词改写模块进行改写,90%利用第一查询词改写模块进行改写,然后对搜索结果进行对比。判断实验组是否会带来降低二次搜索率等正向收益。如果没有正向收益,则表明生成的改写词不够恰当与合理,需要对相似度计算相关的参数进行调整,重新计算相似度,并生成改写词。
[0079]
可选地,基于所述两个查询词之间的语义相似度和发音相似度,对所述两个查询词的相似度进行修正。
[0080]
在利用两个查询词所共同对应的兴趣点对计算相似度的基础上,可以增加语义相
似度和发音相似度等因素,对相似度进行修正。例如用户输入的查询词为“百旺山”,最终选择的兴趣点为“百望山森林公园-东门”、“百望山森林公园-南门”等与“百望山”相关的兴趣点。用户输入的查询词为“百望山”,最终也选择了“百望山森林公园-东门”、“百望山森林公园-南门”等与“百望山”相关的兴趣点。在基于所共同对应的兴趣点对计算出两个查询词的相似度之后,由于查询词“百旺山”与查询词“百望山”发音相同,可以对相似度进行适当提高,将提高后的相似度作为两个查询词的相似度。
[0081]
基于同样的思路,本说明书实施例还提供了上述方法对应的计算机装置。
[0082]
图3为本说明书实施例提供的一种计算机装置的结构示意图。如图3所示,包括:
[0083]
第一获取模块301,用于获取记录有历史搜索点击信息的搜索点击日志;所述历史搜索点击信息具体包含查询词和用户输入所述查询词后选择的兴趣点信息;
[0084]
第一计算模块302,用于根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度;所述两个查询词的相似度是基于所述两个查询词所共同对应的兴趣点对的数量、每个所述兴趣点对中每个兴趣点所分别对应的查询词的数量和每个所述兴趣点对中的兴趣点所共同对应的查询词的数量计算得到的;所述第一条件为两个查询词至少共同对应一个兴趣点对;所述兴趣点对包括两个兴趣点,所述两个兴趣点中的每个兴趣点与所述两个查询词中的每个查询词均具有对应关系;
[0085]
第一确定模块303,用于将所述相似度不小于第一阈值的两个查询词中的一个查询词确定为另一个查询词的改写词。
[0086]
可选地,所述第一计算模块具体包括第一求和模块和第一相似度计算模块,
[0087]
所述第一求和模块,用于所述两个查询词的相似度为所述两个查询词所共同对应的各个兴趣点对的第一相似度的和;
[0088]
所述第一相似度计算模块,具体包括:
[0089]
第二确定模块,用于基于所述兴趣点对中的两个兴趣点所共同对应的查询词的数量,确定所述兴趣点对的第一权重;
[0090]
第三确定模块,用于基于所述兴趣点对中一个兴趣点所对应的查询词的数量,确定所述兴趣点对的第一惩罚系数;基于所述兴趣点对中的另一个兴趣点所对应的查询词的数量,确定所述兴趣点对的第二惩罚系数;
[0091]
第四确定模块,用于基于所述第一权重、第一惩罚系数和第二惩罚系数的乘积,确定所述兴趣点对的第一相似度。
[0092]
可选地,所述第一相似度计算模块,具体用于采用以下公式计算所述兴趣点对的第一相似度:
[0093][0094][0095]
其中,qu为所述兴趣点对中的一个兴趣点所对应的查询词形成的查询词集合,qv为另一个兴趣点所对应的查询词形成的查询词集合,α为平滑因子。
[0096]
可选地,所述第一计算模块具体包括:
[0097]
第一构建模块,用于构建每个查询词所对应的兴趣点集合,所述兴趣点集合内的兴趣点均与所述查询词相对应;构建每个兴趣点所对应的查询词集合,所述查询词集合内查询词均与所述兴趣点相对应;
[0098]
第五确定模块,用于依次将所述查询词中的各个查询词确定为目标查询词;
[0099]
第一生成模块,用于对于每个所述目标查询词,遍历所述目标查询词所对应的兴趣点集合中的任意两个兴趣点所形成的第一兴趣点对,生成每个所述第一兴趣点对中的两个兴趣点所分别对应的查询词集合的第一查询词交集;
[0100]
第二计算模块,用于对于每个至少包含一个除所述目标查询词之外的查询词的第一查询词交集,计算所述第一查询词交集所对应的第一兴趣点对的第一相似度;
[0101]
第二求和模块,用于对于所有第一查询词交集中的除所述目标查询词之外的每个查询词,计算所述查询词所属的所有第一查询词交集所对应的第一兴趣点对的第一相似度的和,得到所述目标查询词与所述查询词的相似度。
[0102]
可选地,所述计算机装置还包括:
[0103]
第二生成模块,用于基于所述查询词的改写词生成改写词典;
[0104]
第一加载模块,用于在查询系统中的增加第二查询词改写模块,所述第二查询词改写模块加载有所述改写词典;
[0105]
第一实验模块,用于以通过所述第二查询词改写模块进行改写的查询词作为实验组,以通过第一查询词改写模块进行改写的查询词作为对照组,进行ab实验;其中,所述第一查询词改写模块未加载所述改写词典;
[0106]
第一判断模块,用于基于所述ab实验的搜索结果,判断所述实验组相较于所述对照组是否有正向收益,得到第一判断结果;
[0107]
第一调整模块,用于若所述第一判断结果表示没有正向收益,则对所述两个查询词的相似度计算参数进行调整。
[0108]
可选地,所述计算机装置还包括:
[0109]
第一修正模块,用于基于所述两个查询词之间的语义相似度和发音相似度,对所述两个查询词的相似度进行修正。
[0110]
基于同样的思路,本说明书实施例还提供了上述方法对应的计算机设备。
[0111]
图4为本说明书实施例提供的一种计算机设备的结构示意图。如图4所示,计算机设备400可以包括存储器430、处理器410及存储在存储器上的计算机程序420,所述处理器执行所述计算机程序以实现以上所描述的任意一种方法的步骤。
[0112]
基于同样的思路,本说明书实施例还提供了上述方法对应的计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现以上所描述的任意一种方法的步骤。
[0113]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图4所示的设备而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0114]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然
而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0115]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子可以包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内可以包括的可以用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将可以用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0116]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0117]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0118]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程
序产品的形式。
[0119]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生可以用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0120]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生可以包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0121]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供可以用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0122]
在一个典型的配置中,计算设备可以包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0123]
内存可能可以包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
[0124]
计算机可读介质可以包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字符多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可以用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不可以包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0125]
还需要说明的是,术语“可以包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得可以包括一系列要素的过程、方法、商品或者设备不仅可以包括那些要素,而且还可以包括没有明确列出的其他要素,或者是还可以包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“可以包括一个
……”
限定的要素,并不排除在可以包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0126]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品
的形式。
[0127]
本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于可以包括存储设备在内的本地和远程计算机存储介质中。
[0128]
以上所述仅为本技术的实施例而已,并不可以用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种生成兴趣点查询词的改写词的方法,其特征在于,包括:获取记录有历史搜索点击信息的搜索点击日志;所述历史搜索点击信息具体包含查询词和用户输入所述查询词后选择的兴趣点信息;根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度;所述两个查询词的相似度是基于所述两个查询词所共同对应的兴趣点对的数量、每个所述兴趣点对中每个兴趣点所分别对应的的查询词的数量和每个所述兴趣点对中的兴趣点所共同对应的查询词的数量计算得到的;所述第一条件为两个查询词至少共同对应一个兴趣点对;所述兴趣点对包括两个兴趣点,所述两个兴趣点中的每个兴趣点与所述两个查询词中的每个查询词均具有对应关系;将所述相似度不小于第一阈值的两个查询词中的一个查询词确定为另一个查询词的改写词。2.如权利要求1所述的方法,其特征在于,所述两个查询词的相似度为所述两个查询词所共同对应的各个兴趣点对的第一相似度的和;所述兴趣点对的第一相似度的计算方法,具体包括:基于所述兴趣点对中的两个兴趣点所共同对应的查询词的数量,确定所述兴趣点对的第一权重;基于所述兴趣点对中一个兴趣点所对应的查询词的数量,确定所述兴趣点对的第一惩罚系数;基于所述兴趣点对中的另一个兴趣点所对应的查询词的数量,确定所述兴趣点对的第二惩罚系数;基于所述第一权重、第一惩罚系数和第二惩罚系数的乘积,确定所述兴趣点对的第一相似度。3.如权利要求2所述的方法,其特征在于,所述确定所述兴趣点对的第一相似度,具体包括:采用以下公式计算所述兴趣点对的第一相似度:采用以下公式计算所述兴趣点对的第一相似度:其中,q
u
为所述兴趣点对中的一个兴趣点所对应的查询词形成的查询词集合,q
v
为另一个兴趣点所对应的查询词形成的查询词集合,α为平滑因子。4.如权利要求2所述的方法,其特征在于,所述根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度,具体包括:构建每个查询词所对应的兴趣点集合,所述兴趣点集合内的兴趣点均与所述查询词相对应;构建每个兴趣点所对应的查询词集合,所述查询词集合内查询词均与所述兴趣点相对应;依次将所述查询词中的各个查询词确定为目标查询词;对于每个所述目标查询词,遍历所述目标查询词所对应的兴趣点集合中的任意两个兴趣点所形成的第一兴趣点对,生成每个所述第一兴趣点对中的两个兴趣点所分别对应的查
询词集合的第一查询词交集;对于每个至少包含一个除所述目标查询词之外的查询词的第一查询词交集,计算所述第一查询词交集所对应的第一兴趣点对的第一相似度;对于所有第一查询词交集中的除所述目标查询词之外的每个查询词,计算所述查询词所属的所有第一查询词交集所对应的第一兴趣点对的第一相似度的和,得到所述目标查询词与所述查询词的相似度。5.如权利要求1所述的方法,其特征在于,所述方法还包括:基于所述查询词的改写词生成改写词典;在查询系统中的增加第二查询词改写模块,所述第二查询词改写模块加载有所述改写词典;以通过所述第二查询词改写模块进行改写的查询词作为实验组,以通过第一查询词改写模块进行改写的查询词作为对照组,进行ab实验;其中,所述第一查询词改写模块未加载所述改写词典;基于所述ab实验的搜索结果,判断所述实验组相较于所述对照组是否有正向收益,得到第一判断结果;若所述第一判断结果表示没有正向收益,则对所述两个查询词的相似度计算参数进行调整。6.如权利要求1所述的方法,其特征在于,所述方法还包括,基于所述两个查询词之间的语义相似度和发音相似度,对所述两个查询词的相似度进行修正。7.一种计算机装置,其特征在于,包括:第一获取模块,用于获取记录有历史搜索点击信息的搜索点击日志;所述历史搜索点击信息具体包含查询词和用户输入所述查询词后选择的兴趣点信息;第一计算模块,用于根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度;所述两个查询词的相似度是基于所述两个查询词所共同对应的兴趣点对的数量、每个所述兴趣点对中每个兴趣点所分别对应的的查询词的数量和每个所述兴趣点对中的兴趣点所共同对应的查询词的数量计算得到的;所述第一条件为两个查询词至少共同对应一个兴趣点对;所述兴趣点对包括两个兴趣点,所述两个兴趣点中的每个兴趣点与所述两个查询词中的每个查询词均具有对应关系;第一确定模块,用于将所述相似度不小于第一阈值的两个查询词中的一个查询词确定为另一个查询词的改写词。8.一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如权利要求1至6中任意一项所述方法的步骤。9.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现如权利要求1至6中任意一项所述方法的步骤。

技术总结
本发明公开了一种生成兴趣点查询词的改写词的方法、装置、设备及介质,涉及地图检索技术领域。包括:获取记录有历史搜索点击信息的搜索点击日志;根据所述历史搜索点击信息,计算所述查询词中所有符合第一条件的两个查询词的相似度;所述两个查询词的相似度是基于所述两个查询词所共同对应的兴趣点对的数量、每个所述兴趣点对中每个兴趣点所分别对应的的查询词的数量和每个所述兴趣点对中的兴趣点所共同对应的查询词的数量计算得到的;将所述相似度不小于第一阈值的两个查询词中的一个查询词确定为另一个查询词的改写词。本发明生成的查询词的改写词,更为合理、恰当。基于本发明生成的改写词进行检索,有更高的兴趣点召回率和准确率。率和准确率。率和准确率。


技术研发人员:李信阔
受保护的技术使用者:北京四维图新科技股份有限公司
技术研发日:2023.04.21
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐