查询自动补全的方法、装置、设备和计算机存储介质与流程

专利2022-06-30  50


本申请涉及计算机应用技术领域,特别涉及智能搜索技术领域的一种查询自动补全的方法、装置、设备和计算机存储介质。



背景技术:

qac(queryauto-completion,查询自动补全)目前已被主流的通用搜索引擎和垂直搜索引擎广泛采用。例如,在地图类应用中,当用户输入query(查询)以搜索某个poi(pointofinterest,兴趣点)时,从用户输入不完整query开始(在本申请中将用户输入的不完整query称为查询前缀),搜索引擎可以在候选列表中实时向用户推荐一系列候选的poi以供用户选择作为query的补全结果(在本申请中将候选列表中推荐的query称为查询补全建议)。一旦用户在候选列表中发现其意向的poi,则通过从候选列表中选择该poi即可补全query,从而发起该poi的搜索。

举个例子,如图1中所示,当用户在地图类应用的搜索框中输入查询前缀“百度”时,能够以候选列表的形式向用户推荐诸如“百度大厦”、“百度大厦-c座”、“百度科技园”等等候选poi以供用户选择,一旦用户从中选择了“百度大厦”,则完成query的补全,发起针对“百度大厦”的搜索。

然而,现有的查询自动补全方案中,针对相同的查询前缀提供的建议均是相同的,例如均是在候选列表中基于各poi的搜索热度进行排序,并不能够很好地符合用户的现实需求。



技术实现要素:

有鉴于此,本申请提供了一种查询自动补全的方法、装置、设备和计算机存储介质,使得推荐的查询补全建议更好地符合用户的现实需求。

第一方面,本申请提供了一种查询自动补全的方法,该方法包括:

获取用户当前输入的查询前缀,以及确定与所述查询前缀对应的候选兴趣点poi;

获取各候选poi的时空特征的向量表示;

将所述各候选poi的时空特征的向量表示输入预先训练得到的排序模型,得到对各候选poi的评分;

依据各候选poi的评分确定向所述用户推荐的查询补全建议;

其中,所述时空特征包括查询时间特征以及候选poi与所述用户之间的距离特征中的至少一种。

根据本申请一优选实施方式,所述候选poi的查询时间特征的向量表示采用以下方式确定:

将当前时间落入预设m个时间区间的状况映射至m维的向量空间,得到所述候选poi对应的查询时间特征的向量表示,所述m为大于1的正整数;或者,

依据当前时间查询所述候选poi所属类别的时间热度分布,将查询得到的当前时间的热度状况映射至m维的向量空间,得到所述候选poi的查询时间特征的向量表示;其中,各poi类别的时间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

根据本申请一优选实施方式,所述候选poi与所述用户之间的距离特征的向量表示采用以下方式确定:

确定所述候选poi与所述用户之间的距离,将所述距离落入预设n个距离区间的状况映射至n维的向量空间,得到所述候选poi对应的距离特征的向量表示,所述n为大于1的正整数;或者,

依据所述候选poi与所述用户之间的距离查询所述候选poi所属类别的空间热度分布,将查询得到的所述距离的热度状况映射至n维的向量空间,得到所述候选poi的距离特征的向量表示;其中,各poi类别的空间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

根据本申请一优选实施方式,所述排序模型在对各候选poi进行评分时,进一步利用所述用户的属性特征向量表示和各候选poi的热度特征向量表示。

第二方面,本申请提供了一种训练用于查询自动补全的排序模型的方法,该方法包括:

从poi查询日志中获取样本数据,所述样本数据包括用户从查询补全建议中选择poi时已输入的查询前缀、该查询前缀对应的查询补全建议中的各poi以及查询补全建议中被用户选择的poi;

将查询补全建议中被用户选择的poi的时空特征的向量表示作为正例,未被用户选择的poi的时空特征的向量表示作为负例,训练神经网络模型,得到所述排序模型,其中训练目标为:最大化神经网络模型对正例poi的评分与负例poi的评分之间的差值;

其中,所述时空特征包括查询时间特征以及poi与用户之间的距离特征中的至少一种。

根据本申请一优选实施方式,查询补全建议中各poi的查询时间特征的向量表示采用如下方式确定:

将用户从查询补全建议中选择poi的时间落入预设m个时间区间的状况映射至m维的向量空间,得到各poi对应的查询时间特征的向量表示,所述m为大于1的正整数;或者,

确定用户从查询补全建议中选择poi的时间,依据该时间查询各poi所属类别的时间热度分布,将查询得到的该时间的热度状况映射至m维的向量空间,得到各poi对应的查询时间特征的向量表示;其中,各poi类别的时间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

根据本申请一优选实施方式,查询补全建议中各poi与用户之间的距离特征的向量表示采用如下方式确定:

将查询补全建议中的poi与用户的距离落入预设n个预设距离区间的状况映射至n维的向量空间,得到该poi对应的距离特征的向量表示,所述n为大于1的正整数;或者,

依据查询补全建议中的poi与用户的距离查询poi所属类别的空间热度分布,将查询得到的该距离的热度状况映射至n维的向量空间,得到该poi对应的距离特征的向量表示;其中,各poi类别的空间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

根据本申请一优选实施方式,所述正例中进一步包括用户的属性特征向量表示和被用户选择的poi的热度特征向量表示;

所述负例中进一步包括用户的属性特征向量表示和未被用户选择的poi的热度特征向量表示。

第三方面,本申请还提供了一种查询自动补全的装置,该装置包括:

第一获取单元,用于获取用户当前输入的查询前缀,以及确定与所述查询前缀对应的候选兴趣点poi;

第二获取单元,用于获取各候选poi的时空特征的向量表示;

评分单元,用于将所述各候选poi的时空特征的向量表示输入预先训练得到的排序模型,得到对各候选poi的评分;

查询补全单元,用于依据各候选poi的评分确定向所述用户推荐的查询补全建议;

其中,所述时空特征包括查询时间特征以及候选poi与所述用户之间的距离特征中的至少一种。

第四方面,本申请提供了一种建立用于查询自动补全的排序模型的装置,该装置包括:

第一获取单元,从poi查询日志中获取样本数据,所述样本数据包括用户从查询补全建议中选择poi时已输入的查询前缀、该查询前缀对应的查询补全建议中的各poi以及查询补全建议中被用户选择的poi;

第二获取单元,用于获取查询补全建议中各poi的时空特征的向量表示;

模型训练单元,用于将查询补全建议中被用户选择的poi的时空特征的向量表示作为正例,未被用户选择的poi的时空特征的向量表示作为负例,训练神经网络模型,得到所述排序模型,其中训练目标为:最大化神经网络模型对正例poi的评分与负例poi的评分之间的差值;

其中,所述时空特征包括查询时间特征以及poi与用户之间的距离特征中的至少一种。

第五方面,本申请提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。

第六方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方法。

由以上技术方案可以看出,本申请中将poi个性化的时空特征融入排序模型,可以实现用户与候选poi在时空特征上的匹配,从而更好地补全用户的检索意图,符合用户的现实需求。

上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是查询自动补全的界面示例图;

图2示出了可以应用本发明实施例的示例性系统架构;

图3为本申请实施例一提供的查询补全的方法流程图;

图4为本申请实施例提供的方法处理示意图;

图5为本申请实施例二提供的建立排序模型的方法流程图;

图6为本申请实施例三提供的查询自动补全的装置结构图;

图7为本申请实施例提供的建立排序模型的装置结构图;

图8是用来实现本申请实施例的方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图2示出了可以应用本发明实施例的示例性系统架构。如图2所示,该系统架构可以包括终端设备101和102,网络103和服务器104。网络103用以在终端设备101、102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101和102通过网络103与服务器104交互。终端设备101和102上可以安装有各种应用,例如语音交互应用、网页浏览器应用、通信类应用等。

终端设备101和102可以是各种电子设备,包括但不限于智能手机、平板电脑、pc、智能电视等等。本发明所提供的查询自动补全的装置可以设置并运行于服务器104上。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。

例如,当用户通过在终端设备101上的浏览器或客户端提供的检索界面上输入查询前缀时,浏览器或客户端将该查询前缀实时提供给服务器端104,由服务器端采用本申请提供的方法向终端设备101返回用户当前输入的查询前缀对应的查询补全建议。如果用户从该查询补全建议中发现意愿的poi,则可以通过选择该poi发起针对该poi的检索。如果用户从查询补全建议中未发现意愿的poi,则可以继续进行输入,然后浏览器或客户端在将查询前缀实时提供给服务器端104,由服务器端104返回用户输入的查询前缀对应的查询补全建议。从而形成这样一种效果:在用户输入query的过程中,随着用户输入的查询前缀实时向用户推荐查询补全建议。

服务器104可以是单一服务器,也可以是多个服务器构成的服务器群组。应该理解,图2中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

本申请的技术实质在于建立用户与poi之间的关联,其使用场景可以为:当用户使用地图类数据进行poi检索的过程中,随着用户输入的查询前缀实时向用户推荐查询补全建议。其中查询补全建议是在确定出用户输入的查询前缀对应的候选poi后,利用排序模型对各候选poi进行排序后得到的。

在现有技术中,针对各候选poi的排序往往是考虑各候选poi的热度特征,还有些情况还会考虑一些用户的属性特征。但该排序方式并不能够很好地满足用户的实际需求。通过使用大规模地图数据中用户进行真实poi检索的数据进行统计,发现用户在查询poi时存在一定的时间和空间特性。例如用户通常在工作日查询一些诸如“百度大厦”、“中关村科技园”等办公类poi,而在节假日查询一些诸如“八达岭长城”、“北京动物园”等景区类poi。再例如,用户查询“八达岭长城”时,通常距离该poi有较远的距离,而查询诸如“百度大厦”的办公类poi时,往往距离比较近。基于此,本申请的核心思想在于,将poi个性化的时空特征融入排序模型,那么就可以快速实现用户与候选poi在时空特征上的匹配,更好地补全用户的检索意图。下面结合实施例对本申请提供的方法进行详细描述。

实施例一、

图3为本申请实施例一提供的查询补全的方法流程图,如图3中所示,该方法可以包括以下步骤:

在301中,获取用户当前输入的查询前缀,以及确定与该查询前缀对应的候选poi。

在本申请适用于各种形式的输入内容,可以是汉字、拼音、首字母简称,等等,但输入的查询前缀均可以看成是字符串。随着用户输入查询前缀,实时获取用户当前输入的查询前缀。例如,用户想输入“百度大厦”的过程中,会经历输入“百”、“百度”、“百度大”等多个查询前缀,则针对每一个查询前缀都执行本申请所提供的方法。即用户输入“百”时,当前输入的查询前缀为“百”,针对该查询前缀执行本申请的方法为用户推荐查询补全建议。当用户输入“百度”时,当前输入的查询前缀为“百度”,针对该查询前缀执行本申请的方法为用户推荐查询补全建议。当用户输入“百度大”时,当前输入的查询前缀为“百度大”,针对该查询前缀执行本申请的方法为用户推荐查询补全建议。

确定与当前输入的查询前缀对应的候选poi的方式可以采用现有的实现方式,目的是找到与该查询前缀强相关的poi,或者找到以该查询前缀为文本开头的poi。例如可以在poi库中预先针对poi以各种对应的查询前缀建立倒排索引。当用户输入query时,针对当前输入的查询前缀查询poi库,命中的所有poi作为候选poi。

在302中,获取各候选poi的时空特征的向量表示。

本申请实施例中涉及的候选poi的时空特征可以包括查询时间特征以及候选poi与用户之间的距离特征中的至少一种。

其中查询时间指的就是用户当前查询的时间,后续简称为当前时间。即将查询的时间融入poi的特征表示中。候选poi与用户之间的距离特征指的是候选poi与用户当前位置之间的距离,即将poi的位置特征融入poi的特征表示中。

在确定候选poi的查询时间特征的向量表示时,可以采用但不限于以下两种方式:

第一种方式:将当前时间落入预设m个时间区间的状况映射至m维的向量空间,得到候选poi对应的查询时间特征向量,m为大于1的正整数。

预先可以划分m个时间区间,例如每天24个小时被划分成4个时间段,一周7天,一共被划分为28个时间区间,此时m取28。被划分为:

时间区间1:周一0点~6点;

时间区间2:周一6点~12点;

时间区间3:周一12点~18点;

时间区间4:周一18点~24点;

时间区间5:周二0点~6点;

……

时间区间28:周日18点~24点。

若用户当前查询的时间为周一早上7点,则落入时间区间2,映射至28维的向量空间后得到一个28维的向量作为候选poi的查询时间特征的向量表示,例如时间区间2在向量中对应的位置取值为1,其他位置取值为0。

第二种方式:依据当前时间查询候选poi所属类别的时间热度分布,将查询得到的当前时间的热度状况映射至m维的向量空间,得到候选poi的查询时间特征向量。

通常同一类别的poi在时间上体现出来的特性是相似的,例如景区类的poi通常在节假日有较多查询,而办公类的poi通常在工作日有较多查询。因此在训练排序模型的过程中,为了减少模型训练过程中的数据量,且体现一个类别的总体时间特性,可以预先对各poi类别的时间热度分布进行统计,例如:统计各poi类别被查询或被点击的时间落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。那么相应地,本步骤中可以利用当前时间查询候选poi所属类别的时间热度分布后,将查询得到的当前时间的热度状况映射至m维的向量空间。

与第一种方式中类似地,也可以预先划分得到28个时间区间,然后从大规模用户的poi查询日志中获取各类别poi被查询或被点击的时间,将各时间落入m个时间区间的次数进行统计,然后可以进一步对落入m个时间区间的次数取值进行归一化等处理,得到时间热度分布。该时间热度分布体现的是一定类别的poi在各时间区间内被查询或被点击的热度。

举个例子,假设某候选poi为办公类poi,用户查询的当前时间为周一早上7点,查询办公类poi的时间热度分布,得到周一早上7点对应的热度值为0.7,则将其映射至28维的向量空间,得到的向量即为该候选poi对应的查询时间特征的向量表示。

类似地,在确定候选poi的到用户的距离的向量表示时,可以采用但不限于以下两种方式:

第一种方式:确定候选poi与用户之间的距离,将距离落入预设n个距离区间的状况映射至n维的向量空间,得到该候选poi对应的距离特征向量,n为大于1的正整数。

可以预先划分n个距离区间,例如设置11个距离区间:

距离区间1:0~5km;

距离区间2:5~10km;

……

距离区间10:45~50km;

距离区间11:50km以上。

若某候选poi距离用户当前位置的距离为6.5km,则落入距离区间2,映射至11维的向量空间后得到一个11维的向量作为该候选poi与用户之间距离的特征向量表示。例如距离区间2在向量中对应的位置取1,其他位置取值为0。

第二种方式:依据候选poi与用户之间的距离查询候选poi所属类别的空间热度分布,将查询得到的距离的热度状况映射至n维的向量空间,得到候选poi的距离特征向量。

通常同一类别的poi在空间上体现出来的特性也是相似的,例如景区类的poi通常距离用户较远有较多查询,而办公类的poi通常在距离用户较近有较多查询。因此在训练排序模型的过程中,为了减少模型训练过程中的数据量,可以预先对各poi类别的空间热度分布进行统计,例如:统计各poi类别被查询或被点击的与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。那么相应地,本步骤中可以利用候选poi与用户之间的距离查询候选poi所属类别的空间热度分布后,将查询得到的距离的热度状况映射至n维的向量空间。

与第一种方式类似地,也可以预先划分得到11个距离区间,然后从大规模用户的poi查询日志中获取各类别poi被查询或被点击时与用户之间的距离,将各距离落入n个距离区间的次数进行统计,然后可以进一步对落入n个距离区间的次数取值进行归一化等处理,得到空间热度分布。该空间热度分布体现的是一定类别的poi在各距离区间内被查询或被点击的热度。

举个例子,假设某候选poi为景区类poi,该候选poi与查询用户之间的距离为46km,落入距离区间10,查询景区类poi的空间热度分布,得到46km对应的热度值为0.8,则将其映射至11维的向量空间,得到的向量即为该候选poi对应的查询时间特征的向量表示。

在303中,将各候选poi的时空特征的向量表示输入预先训练得到的排序模型,得到对各候选poi的评分。

排序模型在对各候选poi进行评分时,可以进一步利用用户的属性特征向量表示和各候选poi的热度特征向量表示。也就是说,排序模型的输入包括用户的属性特征向量表示、各候选poi的热度特征向量表示以及各候选poi的时空特征向量表示,排序模型的输出为对各候选poi的评分。其中,排序模型可以是神经网络模型,其训练过程将在实施例二中进行详细描述。

用户的属性特征可以包括诸如用户的年龄、性别、工作、收入等级、所在城市等信息,用户属性特征的向量表示可以对这些信息进行编码后得到。候选poi的热度特征可以由候选poi的点击频率、检索频率、导航频率等信息进行表征,候选poi的热度特征的向量表示可以对这些信息进行编码后得到。具体不做赘述,可以采用现有技术中的方式。

在本申请实施例中以vt作为候选poi的查询时间特征的向量表示,以vs作为候选poi与用户的距离的向量表示,将ud作为用户属性特征的向量表示,将vpop作为候选poi的热度特征的向量表示,上述整个过程可以如图4中所示。作为其中一种实现方式,可以将各候选poi的查询时间特征的向量表示、距离的向量表示以及热度特征的向量表示进行拼接,得到候选poi的整体向量表示v。在排序模型中,对ud和v经过神经网络的转化,得到对候选poi的评分。

在304中,依据各候选poi的评分确定向用户推荐的查询补全建议。

本步骤中,可以将评分值大于或等于预设评分阈值的候选poi作为查询补全建议,也可以将评分值排在前p个的poi作为查询补全建议,等等,其中p为预设的正整数。在向用户推荐查询补全建议时,依据各poi的评分在候选列表中进行排序。推荐方式可以沿用现有的在检索框附近的下拉框的形式,也可以采用其他形式。

通过本实施例中的方式,当用户在工作日输入查询前缀“ba”(中文的拼音)时,作为办公类poi的“百度大厦”、“百度科技园”等候选poi在查询自动补全建议中的排序会靠前,而作为景点类poi的“八达岭长城”等候选poi在查询自动补全建议中的排序会靠后。而当用户在节假日输入同样的查询前缀“ba”时,作为景点类poi的“八达岭长城”等候选poi在查询自动补全建议中的排序会靠前,作为办公类poi的“百度大厦”、“百度科技园”等候选poi在查询自动补全建议中的排序会靠后。另外,当用户输入查询前缀“ba”(中文的拼音)时,若该查询前缀命中的候选poi中,存在附近的办公类poi,例如“百度大厦”在用户附近几公里处,则该候选poi在查询自动补全建议中的排序靠前,而若附近没有办公类poi,而在45公里处存在景点类poi“八达岭长城”,由于“八达岭长城”在45公里所在距离区间内被查询或点击的次数最高,因此“八达岭长城”在查询自动补全建议中的排序靠前。

实施例二、

图5为本申请实施例二提供的建立排序模型的方法流程图,如图5中所示,该方法可以具体包括以下步骤:

在501中,从poi查询日志中获取样本数据,所述样本数据包括用户从查询补全建议中选择poi时已输入的查询前缀、该查询前缀对应的查询补全建议中的各poi以及查询补全建议中被用户选择的poi。

例如,某用户user_a在逐一输入字符形成各查询前缀的过程中,在输入“百度大”时,从查询补全建议中点击了poi“百度大厦a座”,那么获取用户标识user_a、查询前缀“百度大”、对应的查询补全建议中的各poi,以及被用户选择的poi“百度大厦a座”,作为一条数据。采用同样方式可以从大规模用户的poi查询日志中获取很多条数据用于排序模型的训练。

在502中,获取查询补全建议中各poi的时空特征的向量表示。

本实施例中涉及的各poi的时空特征可以包括查询时间特征以及各poi与用户之间的距离特征中的至少一种。

其中查询时间可以是用户从查询补全建议中选择poi的时间。poi与用户之间的距离可以是查询补全建议中该poi与对应用户之间的距离。

在确定查询补全建议中各poi的查询时间特征的向量表示时,可以采用但不限于以下两种方式:

第一种方式:将用户从查询补全建议中选择poi的时间落入预设m个时间区间的状况映射至m维的向量空间,得到各poi对应的查询时间特征向量,所述m为大于1的正整数。

第二种方式:确定用户从查询补全建议中选择poi的时间,依据该时间查询各poi所属类别的时间热度分布,将查询得到的该时间的热度状况映射至m维的向量空间,得到各poi对应的查询时间特征向量。

其中,可以预先统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

上述两种方式的具体实现可以参见实施例一中关于步骤302的相关记载,在此不做赘述。

查询补全建议中各poi与用户之间的距离特征的向量表示采用但不限于以下两种方式确定:

第一种方式:将查询补全建议中的poi与用户的距离落入预设n个预设距离区间的状况映射至n维的向量空间,得到该poi对应的距离特征向量,所述n为大于1的正整数。

第二种方式:依据查询补全建议中的poi与用户的距离查询poi所属类别的空间热度分布,将查询得到的该距离的热度状况映射至n维的向量空间,得到该poi对应的距离特征向量。

其中,可以统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

上述两种方式的具体实现可以参见实施例一中关于步骤302的相关记载,在此不做赘述。

在503中,将查询补全建议中被用户选择的poi的时空特征的向量表示作为正例,未被用户选择的poi的时空特征的向量表示作为负例,训练神经网络模型,得到排序模型。

排序模型的训练可以采用pairwise的方式。更进一步地,上述正例中可以进一步包括用户的属性特征向量表示和被用户选择的poi的热度特征向量表示;负例中进一步包括用户的属性特征向量表示和未被用户选择的poi的热度特征向量表示。

处理过程与图4中类似。也就是说,正例包括:查询补全建议中被用户选择的poi的查询时间特征的向量表示(对应图4中的vt)、与用户的距离的向量表示(对应图4中的vs)、热度特征向量表示(对应图4中的vpop)以及用户的属性特征向量表示(对应图4中的ud)。负例包括查询补全建议中未被用户选择的poi的查询时间特征的向量表示(对应图4中的vt)、与用户的距离的向量表示(对应图4中的vs)、热度特征向量表示(对应图4中的vpop)以及用户的属性特征向量表示(对应图4中的ud)。

输入的各向量表示经过排序模型的拼接和转化后,分别得到正例poi的评分和负例poi的评分,根据得到的正例poi的评分和负例poi的评分更新排序模型的参数,直至达到训练目标。其中训练目标可以为:最大化神经网络模型对正例poi的评分与负例poi的评分之间的差值。

具体地,上述训练目标可以体现为最小化神经网络模型的损失lδ,例如可以采用以下公式:

其中,τ为超参数。一条训练数据(第i条训练数据)可以表示为:(u(i),{v(i,1),…,v(i,j),…v(i,n)},k(i)),m为训练数据的条数。其中,u为用户的向量表示,在本申请实施例中为用户的ud,{v(i,1),…,v(i,j),…v(i,n)}为查询补全建议中的poi构成的集合,k(i)为用户在查询补全建议中选择的poi。在本申请实施例中,向量v可以vpop、vt和vs的拼接。(u(i),v(i,k(i)))为正例,(u(i),v(i,j))为负例,其中j≠k(i)。h()为排序模型对poi进行评分时采用的函数,其中包含排序模型训练过程中需要更新的模型参数。

以上是对本申请提供的方法进行的详细描述,下面结合实施例对本申请提供的装置进行详细描述。

实施例三、

图6为本申请实施例三提供的查询自动补全的装置结构图,如图6中所示,该装置可以包括:第一获取单元01、第二获取单元02、评分单元03和查询补全单元04。其中各组成单元的主要功能如下:

第一获取单元01负责获取用户当前输入的查询前缀,以及确定与查询前缀对应的候选poi。

确定与当前输入的查询前缀对应的候选poi的方式可以采用现有的实现方式,目的是找到与该查询前缀强相关的poi,或者找到以该查询前缀为文本开头的poi。例如可以在poi库中预先针对poi以各种对应的查询前缀建立倒排索引。当用户输入query时,针对当前输入的查询前缀查询poi库,命中的所有poi作为候选poi。

第二获取单元02负责获取各候选poi的时空特征的向量表示。其中,时空特征包括查询时间特征以及候选poi与用户之间的距离特征中的至少一种。

具体地,第二获取单元02可以将当前时间落入预设m个时间区间的状况映射至m维的向量空间,得到候选poi对应的查询时间特征的向量表示,m为大于1的正整数;或者,

依据当前时间查询候选poi所属类别的时间热度分布,将查询得到的当前时间的热度状况映射至m维的向量空间,得到候选poi的查询时间特征的向量表示;其中,各poi类别的时间热度分布采用如下方式预先确定:统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

第二获取单元02可以确定候选poi与用户之间的距离,将距离落入预设n个距离区间的状况映射至n维的向量空间,得到候选poi对应的距离特征的向量表示,n为大于1的正整数;或者,

依据候选poi与用户之间的距离查询候选poi所属类别的空间热度分布,将查询得到的距离的热度状况映射至n维的向量空间,得到候选poi的距离特征的向量表示;其中,各poi类别的空间热度分布采用如下方式预先确定:统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

评分单元03负责将各候选poi的时空特征的向量表示输入预先训练得到的排序模型,得到对各候选poi的评分。更进一步地,评分单元03可以将用户的属性特征向量表示和各候选poi的热度特征向量表示输入排序模型,用于排序模型对各候选poi进行评分。具体处理方式可以参见实施例一中的相关描述,在此不做赘述。

查询补全单元04依据各候选poi的评分确定向用户推荐的查询补全建议。例如,可以将评分值大于或等于预设评分阈值的候选poi作为查询补全建议,也可以将评分值排在前p个的poi作为查询补全建议,等等,其中p为预设的正整数。在向用户推荐查询补全建议时,依据各poi的评分在候选列表中进行排序。推荐方式可以沿用现有的在检索框附近的下拉框的形式,也可以采用其他形式。

实施例四、

图7为本申请实施例提供的建立排序模型的装置结构图,如图7中所示,该装置可以包括:第一获取单元11、第二获取单元12和模型训练单元13。其中各组成单元的主要功能如下:

第一获取单元11负责从poi查询日志中获取样本数据,其中样本数据包括用户从查询补全建议中选择poi时已输入的查询前缀、该查询前缀对应的查询补全建议中的各poi以及查询补全建议中被用户选择的poi。

第二获取单元12负责获取查询补全建议中各poi的时空特征的向量表示。其中,时空特征包括查询时间特征以及poi与用户之间的距离特征中的至少一种。

具体地,第二获取单元12可以将查询补全建议中的poi与用户的距离落入预设n个预设距离区间的状况映射至n维的向量空间,得到该poi对应的距离特征的向量表示,所述n为大于1的正整数;或者,

依据查询补全建议中的poi与用户的距离查询poi所属类别的空间热度分布,将查询得到的该距离的热度状况映射至n维的向量空间,得到该poi对应的距离特征的向量表示;其中,各poi类别的空间热度分布采用如下方式预先确定:统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

第二获取单元12可以将用户从查询补全建议中选择poi的时间落入预设m个时间区间的状况映射至m维的向量空间,得到各poi对应的查询时间特征的向量表示,所述m为大于1的正整数;或者,

确定用户从查询补全建议中选择poi的时间,依据该时间查询各poi所属类别的时间热度分布,将查询得到的该时间的热度状况映射至m维的向量空间,得到各poi对应的查询时间特征的向量表示;其中,各poi类别的时间热度分布采用如下方式预先确定:统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

模型训练单元13负责将查询补全建议中被用户选择的poi的时空特征的向量表示作为正例,未被用户选择的poi的时空特征的向量表示作为负例,训练神经网络模型,得到排序模型,其中训练目标为:最大化神经网络模型对正例poi的评分与负例poi的评分之间的差值。

其中,上述正例中还可以进一步包括用户的属性特征向量表示和被用户选择的poi的热度特征向量表示;上述负例中还可以进一步包括用户的属性特征向量表示和未被用户选择的poi的热度特征向量表示。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图8所示,是根据本申请实施例的查询自动补全的方法或建立排序模型的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。

存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的查询自动补全的方法或建立排序模型的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的查询自动补全的方法或建立排序模型的方法。

存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的查询自动补全的方法或建立排序模型的方法对应的程序指令/模块。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的查询自动补全的方法或建立排序模型的方法。

存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

该电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。

输入装置803可接收输入的数字或字符信息,以及产生与该电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。


技术特征:

1.一种查询自动补全的方法,其特征在于,该方法包括:

获取用户当前输入的查询前缀,以及确定与所述查询前缀对应的候选兴趣点poi;

获取各候选poi的时空特征的向量表示;

将所述各候选poi的时空特征的向量表示输入预先训练得到的排序模型,得到对各候选poi的评分;

依据各候选poi的评分确定向所述用户推荐的查询补全建议;

其中,所述时空特征包括查询时间特征以及候选poi与所述用户之间的距离特征中的至少一种。

2.根据权利要求1所述的方法,其特征在于,所述候选poi的查询时间特征的向量表示采用以下方式确定:

将当前时间落入预设m个时间区间的状况映射至m维的向量空间,得到所述候选poi对应的查询时间特征的向量表示,所述m为大于1的正整数;或者,

依据当前时间查询所述候选poi所属类别的时间热度分布,将查询得到的当前时间的热度状况映射至m维的向量空间,得到所述候选poi的查询时间特征的向量表示;其中,各poi类别的时间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

3.根据权利要求2所述的方法,其特征在于,所述候选poi与所述用户之间的距离特征的向量表示采用以下方式确定:

确定所述候选poi与所述用户之间的距离,将所述距离落入预设n个距离区间的状况映射至n维的向量空间,得到所述候选poi对应的距离特征的向量表示,所述n为大于1的正整数;或者,

依据所述候选poi与所述用户之间的距离查询所述候选poi所属类别的空间热度分布,将查询得到的所述距离的热度状况映射至n维的向量空间,得到所述候选poi的距离特征的向量表示;其中,各poi类别的空间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

4.根据权利要求1所述的方法,其特征在于,所述排序模型在对各候选poi进行评分时,进一步利用所述用户的属性特征向量表示和各候选poi的热度特征向量表示。

5.一种训练用于查询自动补全的排序模型的方法,其特征在于,该方法包括:

从poi查询日志中获取样本数据,所述样本数据包括用户从查询补全建议中选择poi时已输入的查询前缀、该查询前缀对应的查询补全建议中的各poi以及查询补全建议中被用户选择的poi;

将查询补全建议中被用户选择的poi的时空特征的向量表示作为正例,未被用户选择的poi的时空特征的向量表示作为负例,训练神经网络模型,得到所述排序模型,其中训练目标为:最大化神经网络模型对正例poi的评分与负例poi的评分之间的差值;

其中,所述时空特征包括查询时间特征以及poi与用户之间的距离特征中的至少一种。

6.根据权利要求5所述的方法,其特征在于,查询补全建议中各poi的查询时间特征的向量表示采用如下方式确定:

将用户从查询补全建议中选择poi的时间落入预设m个时间区间的状况映射至m维的向量空间,得到各poi对应的查询时间特征的向量表示,所述m为大于1的正整数;或者,

确定用户从查询补全建议中选择poi的时间,依据该时间查询各poi所属类别的时间热度分布,将查询得到的该时间的热度状况映射至m维的向量空间,得到各poi对应的查询时间特征的向量表示;其中,各poi类别的时间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

7.根据权利要求5所述的方法,其特征在于,查询补全建议中各poi与用户之间的距离特征的向量表示采用如下方式确定:

将查询补全建议中的poi与用户的距离落入预设n个预设距离区间的状况映射至n维的向量空间,得到该poi对应的距离特征的向量表示,所述n为大于1的正整数;或者,

依据查询补全建议中的poi与用户的距离查询poi所属类别的空间热度分布,将查询得到的该距离的热度状况映射至n维的向量空间,得到该poi对应的距离特征的向量表示;其中,各poi类别的空间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

8.根据权利要求5所述的方法,其特征在于,所述正例中进一步包括用户的属性特征向量表示和被用户选择的poi的热度特征向量表示;

所述负例中进一步包括用户的属性特征向量表示和未被用户选择的poi的热度特征向量表示。

9.一种查询自动补全的装置,其特征在于,该装置包括:

第一获取单元,用于获取用户当前输入的查询前缀,以及确定与所述查询前缀对应的候选兴趣点poi;

第二获取单元,用于获取各候选poi的时空特征的向量表示;

评分单元,用于将所述各候选poi的时空特征的向量表示输入预先训练得到的排序模型,得到对各候选poi的评分;

查询补全单元,用于依据各候选poi的评分确定向所述用户推荐的查询补全建议;

其中,所述时空特征包括查询时间特征以及候选poi与所述用户之间的距离特征中的至少一种。

10.根据权利要求9所述的装置,其特征在于,所述第二获取单元,具体用于将当前时间落入预设m个时间区间的状况映射至m维的向量空间,得到所述候选poi对应的查询时间特征的向量表示,所述m为大于1的正整数;或者,

依据当前时间查询所述候选poi所属类别的时间热度分布,将查询得到的当前时间的热度状况映射至m维的向量空间,得到所述候选poi的查询时间特征的向量表示;其中,各poi类别的时间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

11.根据权利要求9所述的装置,其特征在于,所述第二获取单元,具体用于确定所述候选poi与所述用户之间的距离,将所述距离落入预设n个距离区间的状况映射至n维的向量空间,得到所述候选poi对应的距离特征的向量表示,所述n为大于1的正整数;或者,

依据所述候选poi与所述用户之间的距离查询所述候选poi所属类别的空间热度分布,将查询得到的所述距离的热度状况映射至n维的向量空间,得到所述候选poi的距离特征的向量表示;其中,各poi类别的空间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

12.根据权利要求9所述的装置,其特征在于,所述评分单元,还用于进一步将所述用户的属性特征向量表示和各候选poi的热度特征向量表示输入所述排序模型,用于所述排序模型对各候选poi进行评分。

13.一种建立用于查询自动补全的排序模型的装置,其特征在于,该装置包括:

第一获取单元,从poi查询日志中获取样本数据,所述样本数据包括用户从查询补全建议中选择poi时已输入的查询前缀、该查询前缀对应的查询补全建议中的各poi以及查询补全建议中被用户选择的poi;

第二获取单元,用于获取查询补全建议中各poi的时空特征的向量表示;

模型训练单元,用于将查询补全建议中被用户选择的poi的时空特征的向量表示作为正例,未被用户选择的poi的时空特征的向量表示作为负例,训练神经网络模型,得到所述排序模型,其中训练目标为:最大化神经网络模型对正例poi的评分与负例poi的评分之间的差值;

其中,所述时空特征包括查询时间特征以及poi与用户之间的距离特征中的至少一种。

14.根据权利要求13所述的装置,其特征在于,所述第二获取单元,具体用于将查询补全建议中的poi与用户的距离落入预设n个预设距离区间的状况映射至n维的向量空间,得到该poi对应的距离特征的向量表示,所述n为大于1的正整数;或者,

依据查询补全建议中的poi与用户的距离查询poi所属类别的空间热度分布,将查询得到的该距离的热度状况映射至n维的向量空间,得到该poi对应的距离特征的向量表示;其中,各poi类别的空间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击时与用户的距离分别落入预设n个距离区间的次数,得到各poi类别对应的空间热度分布。

15.根据权利要求13所述的装置,其特征在于,所述第二获取单元,具体用于将用户从查询补全建议中选择poi的时间落入预设m个时间区间的状况映射至m维的向量空间,得到各poi对应的查询时间特征的向量表示,所述m为大于1的正整数;或者,

确定用户从查询补全建议中选择poi的时间,依据该时间查询各poi所属类别的时间热度分布,将查询得到的该时间的热度状况映射至m维的向量空间,得到各poi对应的查询时间特征的向量表示;其中,各poi类别的时间热度分布采用如下方式预先确定:

统计各poi类别被查询或被点击的时间分别落入预设m个时间区间的次数,得到各poi类别对应的时间热度分布。

16.根据权利要求13所述的装置,其特征在于,所述正例中进一步包括用户的属性特征向量表示和被用户选择的poi的热度特征向量表示;

所述负例中进一步包括用户的属性特征向量表示和未被用户选择的poi的热度特征向量表示。

17.一种电子设备,其特征在于,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。

18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。

技术总结
本申请公开了一种查询自动补全的方法、装置、设备和计算机存储介质,涉及智能搜索技术领域。具体实现方案为:获取用户当前输入的查询前缀,以及确定与所述查询前缀对应的候选POI(兴趣点);获取各候选POI的时空特征的向量表示;将所述各候选POI的时空特征的向量表示输入预先训练得到的排序模型,得到对各候选POI的评分;依据各候选POI的评分确定向所述用户推荐的查询补全建议;其中,所述时空特征包括查询时间特征以及候选POI与所述用户之间的距离特征中的至少一种。本申请能够更好地补全用户的检索意图,符合用户的现实需求。

技术研发人员:李莹;黄际洲;范淼;王海峰
受保护的技术使用者:百度在线网络技术(北京)有限公司
技术研发日:2020.01.06
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56675.html

最新回复(0)