CN114168838A - 兴趣点在线搜索排序方法与系统、以及云端搜索服务平台 - Google Patents
兴趣点在线搜索排序方法与系统、以及云端搜索服务平台 Download PDFInfo
- Publication number
- CN114168838A CN114168838A CN202010843090.6A CN202010843090A CN114168838A CN 114168838 A CN114168838 A CN 114168838A CN 202010843090 A CN202010843090 A CN 202010843090A CN 114168838 A CN114168838 A CN 114168838A
- Authority
- CN
- China
- Prior art keywords
- interest
- online
- interest point
- search
- poi
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Development Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开披露一种兴趣点在线搜索排序方法与系统、以及云端搜索服务平台。该方法包括:获取用户搜索请求相关的兴趣点关键词,搜索索引数据召回兴趣点,初次排序后生成所述兴趣点的搜索结果,然后,利用预先建立和训练的兴趣点在线排序预测模型,结合所述搜索结果中兴趣点的属性信息,对所述搜索结果进行二次排序,得到并输出兴趣点在线排序结果,其中,所述兴趣点在线排序结果与所述兴趣点在线排序预测模型预测的用户感兴趣程度相关联。通过实施本公开实施例所披露的技术方案,能够提高兴趣点在线排序预测模型的实时性与预测准确率。
Description
技术领域
本公开涉及计算机技术,尤其涉及一种兴趣点在线搜索排序方法与系统、以及云端搜索服务平台。
背景技术
随着计算机技术的发展,人们越来越习惯利用搜索功能来查询信息,尤其是模糊搜索功能,极大的方便了人们的生活。例如,用户在输入框搜索“颐和园”,则搜索系统在搜索到多条搜索结果之后,可以利用神经网络模型计算各搜索结果与搜索词之间的匹配程度,进而,按照匹配程度由高至低的顺序来展示各搜索结果。
但是,现有技术中,一般是通过离线训练神经网络模型,再将其部署在线上来实现数据处理的,神经网络模型的预测结果往往与线上实时数据脱离,存在较大的滞后性,使得预测结果与用户的实际选择结果存在较大偏差,预测准确率较低。
发明内容
本公开披露一种兴趣点在线搜索排序方法与系统、以及云端搜索服务平台,用以提高兴趣点在线排序预测模型的实时性与预测准确率。
第一方面,本公开披露一种兴趣点在线搜索排序方法,该方法包括:
获取用户搜索请求相关的兴趣点关键词,搜索索引数据召回兴趣点,初次排序后生成所述兴趣点的搜索结果;
利用预先建立和训练的兴趣点在线排序预测模型,结合所述搜索结果中兴趣点的属性信息,对所述搜索结果进行二次排序,得到并输出兴趣点在线排序结果;
其中,所述兴趣点在线排序结果与所述兴趣点在线排序预测模型预测的用户感兴趣程度相关联。
第二方面,本公开披露一种兴趣点搜索系统,该系统包括:
搜索请求接口,用于获取兴趣点的搜索请求;
搜索引擎,用于识别、解析所述搜索请求,基于数据库及索引数据,生成初次排序得到的所述兴趣点的搜索结果
兴趣点在线排序预测模型,用于结合所述搜索结果中兴趣点的属性信息,对所述搜索结果进行二次排序,得到兴趣点在线排序结果;
在线训练模块,用于根据在线搜索过程生成的用户点击日志信息,对所述兴趣点在线排序预测模型进行在线训练及更新;更新后的兴趣点在线排序预测模型用于对下一次用户所搜索兴趣点的排序预测;
搜索结果返回接口,用于输出所述兴趣点在线排序结果。
第三方面,本公开披露一种云端搜索服务平台,该平台包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面任一项所述的方法。
第四方面,本公开披露一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的方法。
与现有技术相比,本公开披露的兴趣点在线搜索排序方法与系统、以及云端搜索服务平台具有以下技术效果:
当接收到来自于用户的搜索请求时,能够利用与搜索请求相关的兴趣点关键词,索引数据召回兴趣点,并初排得到搜索结果;在此基础上,本公开还利用部署在线上的兴趣点在线排序预测模型来预测用户对各召回兴趣点的感兴趣程度,并结合兴趣点的属性信息,对搜索结果进行二次排序,通过这种二次排序,提高了兴趣点在线排序预测模型的实时性与预测准确性,以及,这也使得由此得到并输出的兴趣点在线排序结果能够直接与用户感兴趣程度相关联,有利于优先展示出用户更加感兴趣的兴趣点在线排序结果,提高优先兴趣点在线排序结果与用户实际选择对象的匹配程度,方便用户进一步操作。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本公开实施例所披露的一种位置搜索场景的示意图;
图2为本公开实施例所披露的一种兴趣点在线搜索排序方法的流程示意图;
图3为本公开实施例所披露的另一种兴趣点在线搜索排序方法的流程示意图;
图4为本公开实施例所披露的一种兴趣点搜索系统的功能方块示意图;
图5为本公开实施例所披露的一种云端搜索服务平台的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例所披露的兴趣点在线搜索排序方法,应用于任意电子设备,该电子设备可以是服务器,也可以是终端。
该电子设备可以与其他电子设备进行通信。例如,当该兴趣点在线搜索排序方法执行于终端设备时,该终端设备可以与服务器基站进行通信,也可以与其他终端设备进行通信。进一步来讲,终端设备与服务器之间的通信方式可以适用于不同的网络制式,例如,可以适用于全球移动通讯(Global System of Mobile communication,简称GSM)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,简称WCDMA)、时分同步码分多址(Time Division-Synchronous Code Division Multiple Access,简称TD-SCDMA)、长期演进(Long TermEvolution,简称LTE)系统及未来的5G等网络制式。可选的,上述通信系统可以为5G通信系统中高可靠低时延通信(Ultra-Reliable and Low Latency Communications,URLLC)传输的场景中的系统。
此外,本公开实施例中,执行该兴趣点在线搜索排序方法的服务器可以是GSM或CDMA中的基站(Base Transceiver Station,简称BTS)和/或基站控制器,也可以是WCDMA中的基站(NodeB,简称NB)和/或无线网络控制器(Radio Network Controller,简称RNC),还可以是LTE中的演进型基站(Evolutional Node B,简称eNB或eNodeB),或者中继站或接入点,或者未来5G网络中的基站(gNB)等,本公开在此并不限定。
执行该兴趣点在线搜索排序方法的终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(Personal DigitalAssistant,简称PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(RemoteStation)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(UserTerminal)、用户代理(User Agent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
本公开实施例可以应用于搜索关键词后,对召回的搜索结果进行排序优化,然后把排序后的结果展现给用户的场景。基于展示场景的不同,本公开实施例所涉及的排序内容(亦即搜索结果)也不同。
以下,为便于说明,本公开实施例将被搜索的关键词简称为:兴趣点(Point ofInterest,POI)关键词,将根据兴趣点关键词搜索到的信息简称为:被召回兴趣点。可以理解的是,本公开实施例适应于被召回兴趣点有多个的情况,主要应用于对被召回兴趣点的排序展示场景。进一步来讲,部分实施例中还可能涉及对搜索结果中的被召回兴趣点进行过滤后,进行排序展示的场景,展开说明如下:
例如,本公开实施例披露的技术方案至少可以应用于如图1所示的一种位置搜索场景。参照图1所示,用户在搜索输入框输入了“颐和园”这一兴趣点关键词;而搜索系统对该兴趣点关键词(颐和园)进行搜索,得到多个与“颐和园”相关的地理位置或景点名称,亦即召回兴趣点,包括:“颐和园”、“颐和园新建宫门”、“颐和园北宫门”、“颐和园售票处”、“颐和园西门”这些召回兴趣点。如此,可以在向用户展示这些召回兴趣点时,利用本方案来对各召回兴趣点进行处理后,再输出展示。如图1所示,针对该兴趣点关键词的最终展示输出结果依次可为:“颐和园”、“颐和园北宫门”、“颐和园售票处”、“颐和园新建宫门”、“颐和园西门”。后续实施例会对该方案进行详述。
例如,作为另一种可选的实现方式,在一种商品搜索场景中,用户可以在购物APP的搜索框输入“手机”,那么,该购物APP(或内嵌的搜索系统)就可以搜索到当前在售的多种品牌、型号、价格、功能的手机商品,如此,可以将这些手机商品作为召回兴趣点,在向用户展示这些手机商品时,可以利用本方案来确定各手机商品的展示次序。
例如,作为另一种可选的实现方式,在一种消息搜索场景中,用户可以在搜索网站的搜索输入框输入搜索词,例如“感冒”,则该搜索网站可以搜索与该搜索词相关联的多条信息,此时,搜索到的与“感冒”相关的这些信息可以分别作为召回兴趣点,如此,在展示这些信息时,就可以利用本方案来实现各信息的输出展示。
为说明本实施例的方案,现以景点搜索场景为例,对本公开实施例披露的兴趣点在线搜索排序方法进行说明。如前所述,现有技术中对搜索结果进行展示时,一般是利用离线的神经网络模型来实现匹配程度的获取,但由于神经网络模型存在滞后性,导致预测结果与用户实际选择结果存在较大偏差,预测准确率较低。
本公开披露的技术方案,旨在解决现有技术的如上技术问题。
下面以可选实施例,对本公开的技术方案及其如何解决上述技术问题进行说明。下面所记载的可选实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
方法实施例:
本公开实施例披露了一种兴趣点在线搜索排序方法。请参考图2,该方法包括如下步骤:
S202,获取用户搜索请求相关的兴趣点关键词,搜索索引数据召回兴趣点,初次排序后生成所述兴趣点的搜索结果。
本步骤中,兴趣点关键词取决于用户搜索请求,亦即,用户可以自行确定所要搜索的兴趣点关键词。需要说明的是,搜索结果中包含多个召回兴趣点,多个召回兴趣点可以具备一定的排序次序,也可以不具备顺序属性。换言之,召回兴趣点可以为无次序关联关系的多个兴趣点,也可以具备一定的初始次序关系。初始次序关系如何确定,取决于召回兴趣点的确定方式。后续具体说明对召回兴趣点做初次排序,以生成所述兴趣点的搜索结果的实现方式。
S204,利用预先建立和训练的兴趣点在线排序预测模型,结合所述搜索结果中兴趣点的属性信息,对所述搜索结果进行二次排序,得到并输出兴趣点在线排序结果,其中,所述兴趣点在线排序结果与所述兴趣点在线排序预测模型预测的用户感兴趣程度相关联。
本步骤中,在对搜索结果作二次排序时,结合了兴趣点在线排序预测模型与兴趣点的属性信息,以下分别说明:
一方面,兴趣点的属性信息用于描述兴趣点(Point of Interest,POI)的属性。进一步来讲,兴趣点的属性信息可以包括但不限于如下的一种或多种:名称、地址、类型、点击数、置信度、点密度、POI类别、知名度、别名、品牌、距离中的一种或多种。属性信息可以来自但不限于历史用户点击日志。
本公开实施例中,可以利用搜索结果中各召回兴趣点的属性信息与兴趣点关键词的属性信息,对搜索结果中包含的多个召回兴趣点进行排序。基于属性信息确定的排序结果可以通过分值方式体现,或者,也可以通过排序次序体现,本公开实施例对于基于属性信息实现的排序结果的表现形式无特别限制。
例如,可以将兴趣点关键词的属性信息与搜索结果中的每个召回兴趣点的属性信息分别进行计算,按照预设方式计算二者之间的匹配度、置信度、向量距离之中的一种或多种。如此,可以直接将计算值(或计算结果)作为基于属性信息确定的排序结果;或者,也可以将多种计算结果进行归一化处理或加权处理,并将据此得到分数(计算结果),确定为基于属性信息确定的排序结果。或者,亦可基于前述计算结果对搜索结果中的各召回兴趣点进行排序,并将排序次序作为排序结果。
例如,在一种可能的实施例中,可以在历史用户点击日志中,获取各兴趣点(兴趣点关键词、召回兴趣点)的属性信息,从而,分别获取每个维度的属性信息的特征化表示(例如,归一化数值),并形成兴趣点的属性特征向量,进而,计算兴趣点关键词的属性特征向量分别与各个召回兴趣点的属性特征向量之间的向量距离(例如,欧氏距离),并将向量距离作为召回兴趣点与兴趣点关键词之间的匹配程度,亦即基于属性信息确定的排序结果。
需要说明的是,基于属性信息确定的排序结果,可以按照任意自定义计算方式确定,本公开实施例对此无特别限制。
另一方面,兴趣点在线排序预测模型用于预测用户对召回兴趣点的感兴趣程度。进一步来讲,兴趣点在线排序预测模型的输入可以为:兴趣点的特征数据,输出可以为:兴趣点的用户感兴趣程度。
本公开实施例中,兴趣点在线排序预测模型的输入为兴趣点的特征数据。进一步来讲,兴趣点的特征数据可以来自但不限于:数据库中记录的历史用户点击日志;除此之外,还可以包括POI特征。换言之,兴趣点的特征数据可以包括但不限于如下两种:日志特征与POI特征。
进一步来讲,在一可选实施例中,从历史用户点击日志中提取到的日志特征可以包括如下的一种或多种:客户端APP版本、引擎版本、全局唯一标识符(globally uniqueidentifier,GUID)、国际移动设备识别码(International Mobile Equipment Identity,IMEI)、系统型号、手机品牌、手机型号、搜索关键词、城市、当前位置、POI列表、当前点击POI标识(例如POI ID)、数据类型(DataType)。
作为一种可选的实现方式,日志特征可以表示如下:{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,点击POIID_11,DataType,…}。
所述POI特征包括如下的一种或多种:POI标识(POI ID)、名称、地址、省码、城市码、地区码、四维数据类型(NAVITYPE)、品牌(BRAND)、类型名称(TYPENAME)、类型码(TYPECODE)、标签(TAG)。
在具体实现本方案时,可以在历史用户点击日志中提取到前述日志特征,并可基于各召回兴趣点的POI标识确定POI特征,从而,将日志特征与POI特征进行融合,即可得到各兴趣点的特征数据。本公开实施例对于POI特征与日志特征的融合方式无特征限制,例如,可以将POI特征与日志特征直接进行组合(本实施例对组合方式无限制),得到兴趣点的特征数据。
例如,任意一个兴趣点的特征数据可以表示为:{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,点击POI ID_11,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…}。
进一步的,部分实施例中,还可以对前述步骤中涉及到的日志特征、POI特征或融合后的特征数据中的一个或多个,做归一化处理,并依据归一化后的各特征,得到各兴趣点的特征数据。应当理解,不同维度的数据的归一化方式可以不同,本公开实施例对此无特别限制。
本公开实施例中,兴趣点在线排序预测模型的输出为:对象的用户感兴趣程度。进一步来讲,用户感兴趣程度的输出方式可以有多种表现方式:
作为一种可选的实现方式,用户对兴趣点的感兴趣程度可以通过用户是否可能会点击兴趣点进行表示,用户可能会点击某一兴趣点,则用户对该兴趣点的感兴趣程度较高。如此,兴趣点在线排序预测模型输出的数据可以具体为:预测用户是否会点击兴趣点。以1和0分别表征用户可能会点击兴趣点与用户不点击兴趣点这两种行为,那么,针对任意一个兴趣点,若兴趣点在线排序预测模型输出的结果为1,则表示用户对该兴趣点的感兴趣程度较高,用户可能会点击该兴趣点;反之,若兴趣点在线排序预测模型输出的结果为0,则表示用户对该兴趣点的感兴趣程度较低,用户可能不会点击该兴趣点。
例如,在图1所示场景中,若用户搜索请求中携带的兴趣点关键词为“颐和园”,则召回兴趣点如图1所示,分别为:
[颐和园,
颐和园东宫门,
颐和园北宫门,
颐和园售票处,
颐和园西门,
颐和园停车场]
在此基础上,将这些兴趣点的特征数据输入兴趣点在线排序预测模型,则兴趣点在线排序预测模型的输出结果可以表示如下:
由此可知,颐和园、颐和园北宫门、颐和园售票处被用户点击选择的概率较大,用户感兴趣程度较高。在此基础上,还可以集合兴趣点属性信息的排序结果,归一化得到最终的兴趣点在线排序结果,输出并展示该兴趣点在线排序结果。
作为另一种可选的实现方式,兴趣点在线排序预测模型可以输出0~1之间的数值,可以包含端点(0、1),也可以不包含端点。此时,兴趣点在线排序预测模型输出的百分数越高,用户感兴趣程度越高。
因此,在执行S204时,需要分别将各召回兴趣点的特征数据,分别输入兴趣点在线排序预测模型,即可获取到兴趣点在线排序预测模型输出的各召回兴趣点的用户感兴趣程度。
在此基础上,可以获取到属性信息确定的排序结果,以及,兴趣点在线排序预测模型输出的各召回兴趣点的用户感兴趣程度,如此,执行S204时,即可综合这两个方面实现对搜索结果的二次排序。具体实现本方案时,可以将前述两方面的排序结果做归一化处理,如此,得到各搜索结果与兴趣点关键词之间的二次排序分值,进而,得到兴趣点在线排序结果。
在一可选实施例中,可以完全按照用户感兴趣程度来确定展示次序。此时,可以按照用户感兴趣程度由高至低的顺序,获取排序靠前的一个或多个所述召回兴趣点,得到所述兴趣点在线排序结果;并输出所述兴趣点在线排序结果。
例如,若兴趣点在线排序预测模型输出的结果为1和0,则可以优先展示预测结果为1的兴趣点在线排序结果。而多个预测结果相同的兴趣点在线排序结果,例如,预测结果均为1,则可以随意顺序展示,或者,进一步结合初始兴趣值进行展示。
通过前述处理,使得兴趣点在线排序结果与所述用户感兴趣程度相关联,有利于优先展示出用户更加感兴趣的兴趣点在线排序结果,提高优先兴趣点在线排序结果与用户实际选择对象的匹配程度,方便用户进一步操作。
现参照图2所示的实施例,对本公开实施例的具体实施方式做进一步说明:
例如一种实施例中,在图2所示的S202中,可以按照如下方式进行初次排序,以获得搜索结果:根据所述兴趣点关键词,利用文本相似度和历史点击量进行排序,返回召回的POI列表作为所述搜索结果。
进一步来讲,当基于兴趣点关键词,确定出多个召回兴趣点之后,针对任意一个召回兴趣点,可以计算召回兴趣点与兴趣点关键词之间的文本相似度,以及,可以自历史用户点击日志中确定用户点击该召回兴趣点的历史点击量,如此,对这两个维度的数据进行归一化处理或加权处理(计算加权和,或者,加权平均值,权重可自定义预设),如此,可以得到该召回兴趣点的初次排序分值。按照该方式依次计算每个召回兴趣点的初次排序分值,即可按照初次排序分值由高到低的顺序,对各召回兴趣点进行排序,生成初次排序后的兴趣点的搜索结果。
例如,作为另一种可选实施例,如图2所示的S204中,兴趣点在线排序预测模型可以用于用户点击预测,亦即,兴趣点在线排序预测模型可以输出0或1,其中,1表示用户可能会点击召回兴趣点,0表示用户点击召回兴趣点的可能性较小。在此情况下,前述S204步骤可按照如下方式进行二次排序:基于所述搜索结果,利用所述兴趣点在线排序预测模型,结合所述兴趣点的属性信息进行排序及用户点击预测,将归一化后的排序结果作为所述兴趣点在线排序结果,并展示给用户。
前述两个步骤的具体实施方式可以组合使用。例如,针对任意一个召回兴趣点,可以基于文本相似度和历史点击量,获取该召回兴趣点的分值,以及,将该召回兴趣点的特征数据输入兴趣点在线排序预测模型,并获取模型输出的0或1;然后,将前述分值与模型输出结果进行归一化处理或加权处理,得到该召回兴趣点的二次排序分值。针对每个召回兴趣点分别按照前述方式,分别获取每个召回兴趣点的二次排序分值,并据此得到在线排序结果。
此外,S204输出的兴趣点在线排序结果中包含的召回兴趣点,与S202输出的搜索结果中包含的召回兴趣点可以相同。换言之,兴趣点在线排序结果可以为搜索结果中的全部召回兴趣点。例如,图1中召回兴趣点与兴趣点在线排序结果中包含的召回兴趣点相同,仅展示次序不同。
或者,S204输出的兴趣点在线排序结果与S202输出的搜索结果可以不同。换言之,在二次排序过程中,可以过滤掉部分召回兴趣点,如此,兴趣点在线排序结果中包含的兴趣点为搜索结果中的部分召回兴趣点。部分召回兴趣点(也可称为候选召回兴趣点)可以为多个。例如,在图1所示场景中,还可以仅展示用户感兴趣程度较高的前3个对象,此时,兴趣点在线排序结果依次为:“颐和园”、“颐和园北宫门”、“颐和园售票处”、“颐和园新建宫门”、“颐和园西门”。部分对象也可以为1个。例如,在图1所示场景中,还可以仅展示用户感兴趣程度最高的1个对象,此时,兴趣点在线排序结果依次为:“颐和园”。
换言之,在执行S204之前,还可以对搜索结果中的召回兴趣点进行筛选。为便于理解,本公开实施例提供如下筛选方式,可以理解的是,以下实现是仅为示例性说明,实际场景中,还可以有其他自定义筛选方式。
在一可选实施例中,还可以根据搜索结果中包含的各召回兴趣点的初次排序顺序,在所述搜索结果中包含的多个召回兴趣点中,筛选出排序靠前的多个候选召回兴趣点,然后,获取每个所述候选召回兴趣点的兴趣点数据,并提取特征数据后,将特征数据输入所述兴趣点在线排序预测模型,得到每个所述候选召回兴趣点的所述用户感兴趣程度。
例如,可以计算搜索结果中包含的各召回兴趣点与兴趣点关键词之间的匹配程度,可将其数值化为匹配度,对各召回兴趣点进行筛选,得到匹配度较高的多个候选召回兴趣点;从而,获取各候选召回兴趣点的兴趣点数据,并提取特征数据后,将特征数据分别输入兴趣点在线排序预测模型,得到各候选召回兴趣点的用户感兴趣程度。
除此之外,在执行S204之前,可以在将召回兴趣点的特征数据输入兴趣点在线排序预测模型之前,还可以对搜索结果中各召回兴趣点的特征数据进行筛选,过滤掉兴趣点的特征数据中的稀疏特征,以避免这些稀疏特征对预测结果的干扰,提高预测结果的准确率。
进一步来讲,稀疏特征可以包括但不限于低频特征。筛除稀疏特征的方式可以根据各兴趣点的特征数据的出现频率,过滤掉出现频率较低的数据(即:过滤低频特征)。
在一可选实施例中,可以根据数据产生时间与当前时间(时刻)之间的时间间隔是否满足预设的过滤条件,来筛选出兴趣点的特征数据中的稀疏特征。其中,过滤条件可以为预设的第一阈值,此时,对于任意一个特征数据而言:当特征数据对应的时间间隔大于或等于该第一阈值时,确定不满足该过滤条件,该特征数据属于稀疏特征;反之,当特征数据对应的时间间隔小于该第一阈值时,确定满足该过滤条件,该特征数据不属于稀疏特征。
或者,在另一种可选的实现方式中,端点处,亦即时间间隔等于第一阈值的情况,也可以将其确定为满足过滤条件,即特征数据不属于稀疏特征,此处不展开赘述。
上述针对稀疏特征的过滤方法,还可以应用于兴趣点在线排序预测模型的训练阶段(离线训练阶段和/或在线训练阶段)中的样本数据处理过程,后续具体说明。
下面,对兴趣点在线排序预测模型做进一步说明:
本公开实施例中,兴趣点在线排序预测模型可以在创建后,经离线训练,部署在线上,并在线上基于实时数据进行更新。该兴趣点在线排序预测模型的线上实时更新与离线训练可以基于用户搜索过程中的点击日志实现。
例如,参照图3所示,本公开实施例所披露的一种兴趣点在线搜索排序方法的实现流程中,对于任意一次POI搜索,经S202做初次排序得到搜索结果后,可以基于兴趣点在线排序预测模型与兴趣点的属性信息,进行二次排序,并输出兴趣点在线排序结果。如图3所示,该步骤与部署在线上的兴趣点在线排序预测模型相关联。
在此基础上,用户可以对输出的兴趣点在线排序结果进行点击选择,故而,电子设备还可以响应于检测到用户点击行为,生成实时点击日志。
针对任意一次用户搜索过程形成的实时点击日志,如图3所示,可以有两方面的应用:一方面,可以对实时点击日志进行特征提取,并将提取出来的特征作为模型线上实时更新的训练数据,对部署在线上的兴趣点在线排序预测模型进行实时更新;另一方面,该实时点击日志在后续的模型离线训练过程中,作为样本源,对模型做离线训练。在对兴趣点在线排序预测模型做离线训练时,可以通过特征提取过程得到训练样本,进而,对现有模型做离线训练,并在训练完成后,将训练好的模型部署在线上。此外,离线训练过程还可以对模型做效果评估。
需要说明的是,兴趣点在线排序预测模型的离线训练过程可以按周期或定时实现。例如,可以每天(或每周、每月、每10天、每12小时等自定义周期)为离线训练周期,对该兴趣点在线排序预测模型做离线训练。这种情况下,模型进行离线训练的样本可以来源于当前周期内(或当前与上次离线更新时间点之间)产生的历史用户点击日志。
而兴趣点在线排序预测模型的在线实时更新,则可以跟随实时点击日志而实时训练。也就是,可以通过实时监控日志信息的方式,每生成一个新的实时点击日志,就将该新生成的实时点击日志作为在线训练的样本源,进行一次模型的在线更新过程。由于实时点击日志的数据量较小,对资源的占用也较小,并且,基于实时数据在线更新,有利于提高模型的及时性与预测准确率。
现分别针对该兴趣点在线排序预测模型的线上实时更新过程,以及,创建、离线训练过程,分别进行说明。
本公开实施例中,兴趣点在线排序预测模型的建立和训练进一步可以包括但不限于如下步骤:建立所述兴趣点在线排序预测模型;从历史用户点击日志中提取特征数据,离线训练所述兴趣点在线排序预测模型,获取并保存模型参数和特征权重;利用系统搜索的兴趣点POI标识ID列表与预设的标准ID列表进行对比,并归一化,得到训练评测分数,以对模型参数和特征权重进行评测;根据评测结果,选择最优的模型参数和特征权重来作为部署到线上服务器之前的所述兴趣点在线排序预测模型的初始配置条件。
初始建立的兴趣点在线排序预测模型,具备初始配置条件。亦即,模型参数与特征权重可以均为初始值,该初始值可以自定义赋值,或按照经验值预设,或随机赋值,本公开实施例对该模型的初始配置条件无特别限制。
进一步来讲,本公开实施例披露的兴趣点在线排序预测模型的类型可以包括但不限于如下类型:跟随正则化领导(Follow The Regularized Leader,FTRL)模型、在线梯度下降(Online Gradient Descent,OGD)模型、前向后向切分(Forward BackwardSplitting,FOBOS)模型或者正则对偶平均(Regularized Dual Averaging Algorithm,RDA)模型。
其中,FTRL是一种适用于处理超大规模数据的,含大量稀疏特征的在线学习的常见优化算法,方便实用,而且效果很好,常用于更新在线的CTR预估模型。FTRL算法兼顾了FOBOS和RDA两种算法的优势,既能同FOBOS保证比较高的精度,又能在损失一定精度的情况下产生更好的稀疏性。FTRL模型在处理带非光滑正则项的凸优化问题上表现非常出色,不仅可以通过正则控制模型的稀疏度,而且收敛速度快。
本公开实施例中,在对兴趣点在线排序预测模型进行训练,以确定模型参数和特征权重时,可以按照预设的权重更新公式进行更新。例如,FTRL模型的特征权重的更新过程可以满足如下公式:
如此,FTRL模型与POI搜索形成闭环,在线训练模型能够根据线上反馈数据实时快速迭代,使得模型及时反映线上的变化,提高线上预测的准确率。将模型的预测结果展现给用户,然后收集用户的反馈数据,再用来训练模型,形成闭环的系统。
在初始配置条件的基础上,再基于训练样本进行模型迅训练。本公开实施例中,如图3所示,兴趣点在线排序预测模型可以包括线上实时训练更新,也可以包括离线训练,另,离线训练还可以包括:部署到线上前的初始训练,以及,部署到线上后对模型的再次训练更新过程。
本公开实施例中,离线训练的样本数据可以来自于历史用户点击日志。进一步来讲,可以首先获取搜索系统中的历史用户点击日志,历史用户点击日志随用户针对在线展示的召回兴趣点的点击操作(亦即用户选择召回兴趣点的操作)而自动记录。基于此,可以从历史用户点击日志中提取特征数据,来训练所述兴趣点在线排序预测模型,获取并保存模型参数和特征权重。
如前所述,日志特征可以直接从历史用户点击日志中读取得到,而POI特征则可以基于历史用户点击日志中携带的兴趣点标识(POI ID)获取得到,二者携带的具体特征数据可以包括但不限于前文所述的各维度数据,不再重复。
进一步来讲,POI特征至少包括但不限于如下两方面特征:历史用户点击日志中携带的兴趣点(Point of Interest,POI)标识,也就是,获取用户实际选择的召回兴趣点的特征数据;以及,与该用户实际选择的召回兴趣点一起展示,但并未被用户选择的其他召回兴趣点的POI特征。
例如,在一条历史用户点击日志中,用户实际选择的用户选择POI的POI ID为POIID_11,而一起参与展示的兴趣点在线排序结果的POI ID为POI ID_12和POI ID_23。则还需获取POI ID_12和POI ID_23的兴趣点的特征数据,作为样本数据。
基于此,为区分用户选择的POI与同时展示但用户未选择的POI,则在POI特征中还可以包括但不限于:兴趣点的选择指示符。其中,选择指示符用于指示用户是否选择了该POI。作为一种可选的实现方式,0可以表示未选择,1可以表示选择;反之,0表示选择,1表示未选择,亦可。
例如,一种场景中,若一条历史用户点击日志携带的信息包括:为用户展示的召回兴趣点的POI ID包括:POI ID_11、POI ID_12、POI ID_23,其中,用户选择的POI ID为POIID_11。则各召回兴趣点的POI特征依次可以表示为:
{POI ID_11,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,1}
{POI ID_12,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,0}
{POI ID_23,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,0}
例如一种实施例中,POI特征可以为:{NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,1}。从而,样本数据也可以表示为:{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,点击POI ID,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,1}。
仍以前文举例场景为例,亦即,若一条历史用户点击日志携带的信息包括:为用户展示的召回兴趣点的POI ID包括:POI ID_11、POI ID_12、POI ID_23,其中,用户选择的POIID为POI ID_11。此时,可以自该历史用户点击日志中,可以提取出如下样本数据:
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,点击POI ID_11,DataType,POI ID_11,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,1}
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,点击POI ID_11,DataType,POI ID_12,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,0}
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,点击POI ID_11,DataType,POI ID_23,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,0}
此外,还需要说明的是,本公开实施例中,对用户选择行为的具体表现形式无特别限制。例如,在输出的兴趣点在线排序结果所在的页面上,用户可以点击兴趣点(或兴趣点所在区域,或兴趣点对应的虚拟选择按键)实现对兴趣点的选择。可以理解的是,点击仅为一种可能的用户选择方式,实际实现场景中,本公开实施例并不局限于这种处理方式,例如,长按、连续短按多次、滑动中的一个或多个(多个操作的组合,例如,长按+滑动)。
基于样本数据的确定,就可以利用伪代码来编写模型代码,然后,利用前述各样本数据对模型代码进行训练,直至训练后的模型的预测准确率达到预设的准确率阈值。其中,判断其预测准确率是否达到预设的准确率阈值时,可以采用归一化累积折扣(NormalizedDiscounted Cumulative Gain,NDCG)或平均精度(Mean Average Precision,MAP)方法来进行评测。
根据评测结果,可以选择最优的模型参数和特征权重来作为部署到线上服务器。一般情况下,若模型准确率未达到预设的准确率阈值,则修改模型参数和特征权重中的至少一种,继续训练模型。或者,当模型的预测准确率达到预设的准确率阈值,即得到最优的模型参数和特征权重,则保存模型参数和特征权重,得到训练完成的兴趣点在线排序预测模型。进而,将该兴趣点在线排序预测模型部署到线上,以供后续使用,如图3所示。
样本数据除前文所述的历史用户点击日志中携带的POI ID对应的POI(以下,简称为用户选择POI)的特征数据,以及,与该用户选择POI同时展示但用户并未选择的POI ID对应的POI(以下,简称为用户未选择POI)的特征数据之外,还可以进一步包括与该用户选择POI关联的其他POI的特征数据。为便于说明,将与用户选择POI相关联的兴趣点简称为关联POI。关联POI可以应用于兴趣点在线排序预测模型的离线训练和/或在线训练,这里首先说明离线训练方式,在线训练方式后文详述。
本公开实施例中,关联POI可以利用POI关联关系来获取得到。也就是,根据所述POI关联关系,获取与用户选择POI ID所关联的关联POI ID,即可得到该关联POI ID所指示的关联POI。
本公开实施例中,POI关联关系可以用于描述兴趣点标识(POI ID)之间的层级关联关系。在一可选实施例中,关联POI可以为用户选择POI的上级POI。此外,在另一可选实施例中,关联POI可以为用户选择POI的下级POI。在另一可选实施例中,关联POI可以包括用户选择POI的上级POI与下级POI。
POI关联关系可以是一对一的关联,也可以是一对多的关联,也可以是多对一的关联。实际场景中,POI关联关系可以根据实际需要自定义预设,对此无特别限定。
例如,一种实施例中,POI关联关系可以为类似树形的层级式关联结构。在任意相邻的两个层级之间,一个POI可以关联到一个或多个上级POI。进一步来讲,POI之间的上级关联可以存在交叉,例如,POIA可以关联到上级POIB和上级POIC;或者,POI之间的上级关联也可以不交叉,此时,一个POI关联到唯一的一个上级POI,例如,POIA可以唯一关联到一个上级POIB。此外,在任意相邻的两个层级之间,一个POI可以关联到一个或多个下级POI,不作赘述。
POI关联关系也可以称为“父子关系”或“POI父子关系”。作为一种可选的实现方式,“父子关系”的结构可以表示为:{子POI ID=父POI ID}。例如,在一种可能的实施例中,可表示如下:{POI ID_11=POI ID_1,POI ID_12=POI ID_1,POI ID_21=POI ID_2,POIID_23=POI ID_2}。可以理解的是,这仅为一种可能的实施例,实际场景中还可以其他方式来存储或记录POI关联关系。例如,可以通过表格、树形结构、关联标识(例如,POI的属性数据中写有上级POI ID)等手段对二者的关联关系进行记录。
如此,若用户选择POI为POI ID_11,那么,与该用户选择POI ID关联的父POI ID为:POI ID_1。由此基于前述类似的手段,可以在数据库中得到该关联POI的特征数据为:{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,点击POI ID_1,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,1}。
综上,本公开实施例中,可以利用历史用户点击数据,以及,POI父子关系,从中获取用户选择POI、用户未选择POI、关联POI的特征数据(日志特征、POI特征、用户选择标识),得到训练样本,对兴趣点在线排序预测模型进行训练,得到训练后的最优的模型参数和特征权重。之后,将兴趣点在线排序预测模型部署在线上,即可按照如图2所示方式进行预测,实现对召回兴趣点的二次预测。
如前所述,本公开实施例披露的兴趣点在线排序预测模型具备在线更新能力,现对此进行说明。利用用户在所述兴趣点在线排序结果上的操作信息,确定用户选择POI。例如,在图1所示场景中,若用户点击了“颐和园售票处”,则“颐和园售票处”为用户选择POI。如前所述,选择方式可以有多种表现形式,不重复赘述。
如此,响应于用户选择操作,则可自动生成一条用户点击日志。从而,可以据此实现对兴趣点在线排序预测模型的在线更新。
例如,本公开实施例还可以包括如下步骤:
记录用户在线搜索过程的点击日志,实时监控记录的日志信息;
从监控到的日志信息中提取特征数据,结合相关的兴趣点数据及兴趣点父子关系数据,作为补充训练数据,以在线训练所述兴趣点在线排序预测模型,并更新所述兴趣点在线排序预测模型的参数配置;
更新后的兴趣点在线排序预测模型用于对下一次用户所搜索兴趣点的排序预测。
当监控到日志信息有更新,则可以基于新更新的用户点击日志,提取该用户点击日志中携带的用户选择POI、用户未选择POI的特征数据,或者,提取该用户点击日志中携带的用户选择POI、用户未选择POI、关联POI的特征数据,将这些提取出来的特征数据作为兴趣点在线排序预测模型的补充训练数据,采用与离线训练相同的方式,实现对兴趣点在线排序预测模型的在线实时更新。
如此,每当利用兴趣点在线排序预测模型处理了一组数据之后,就可以利用这组数据对兴趣点在线排序预测模型进行在线更新,以提高兴趣点在线排序预测模型的及时性与预测准确率;并且,在利用关联POI来补充训练数据的实施例中,关联POI也能够为模型训练过程提供更多信息,也有利于进一步提高模型的预测准确率。
此外,还需要说明的是,在获取兴趣点在线排序预测模型的补充训练数据过程中,还可以采用前文所述的方式,对提取出的特征数据进行稀疏特征的过滤。
这是由于,FTRL模型在每个特征维度上做梯度下降,随着用户点击日志的不断更新,FTRL模型也以此为补充训练数据,不断进行训练更新,则频繁更新的特征权重更新步长越来越小,趋于一个稳定的值。而实际上用户的关注点会随时间变化,累积的特征并不一定产生正向的效果。因此,本公开实施例还增加了时间维度,通过记录每个维度特征更新的时间,根据时间进行衰减。因此,可以依据用户点击日志的产生时间,来对特征数据进行筛选,以过滤掉特征数据中的稀疏特征,选择合适的训练数据。同时,用户的实时行为产生大量的特征,包括很多低频特征,使得模型太大,对效果影响也不大,过滤掉其中的低频特征,也有利于简化模型架构,提高预测准确率。
例如,在进行兴趣点在线排序预测模型的在线训练之前,该方法还可以包括如下步骤:
记录每个维度的所述特征数据产生的时间;
判断每个维度的所述特征数据产生的时间与当前时间的时间间隔是否满足训练条件,选取满足所述训练条件的特征数据作为所述兴趣点在线排序预测模型的训练数据;
其中,不满足所述训练条件的特征数据为低频特征,从所述训练数据中剔除,以调整所述兴趣点在线排序预测模型的学习速率。
其中,训练条件可以为自定义预设的第二阈值。此时,对于任意一个兴趣点的特征数据而言:当特征数据对应的时间间隔大于或等于该第二阈值时,确定不满足该训练条件,该特征数据属于稀疏特征,过滤该稀疏特征;反之,当特征数据对应的时间间隔小于该第二阈值时,确定满足该训练条件,该特征数据不属于稀疏特征,将其作为补充训练数据。或者,另一种实现方式中,端点处,亦即时间间隔等于第二阈值的情况,也可以将其确定为满足训练条件,即特征数据不属于稀疏特征,将其作为补充训练数据,不展开重复。
此外,第一阈值与第二阈值可以相同,也可以不同,对此无特别限制。
另,如图3所示,新更新的用户点击数据,除直接用于兴趣点在线排序预测模型的在线实时更新之外,还可以用于兴趣点在线排序预测模型的离线更新过程。如图3所示,兴趣点在线排序预测模型的离线训练更新过程可以周期或定时实现,其补充训练数据具体为周期内,或者,当前时刻与上次训练更新之间,自动生成的用户点击日志。补充训练数据中,每条用户点击日志对应的特征数据都可以按照前文所述的任意一种实施方式获取得到,不再重复说明。
为便于理解,现结合图1所示实施例,对本方案的具体实现方式进行梳理。以如图1所示的位置搜索场景为例,用户可以在前端APP搜索框输入兴趣点关键词,本方案在搜索系统中对兴趣点关键词进行搜索,得到多个召回兴趣点,从而,利用前述方案对其进行初次排序、二次排序后,输出在线排序结果;在此基础上,还可以继续监控用户点击日志,从而,基于新更新的用户点击日志,更新兴趣点在线排序预测模型,如此,在下一次排序过程中,利用更新后的兴趣点在线排序预测模型实现本方案。
具体实现方式可表示如下:
经过兴趣点在线排序预测模型的创建和离线更新后,将训练好的兴趣点在线排序预测模型部署在线上。
之后,若用户在前端APP搜索框输入兴趣点关键词“颐和园北宫门”,那么,云服务端可以接收到来自于前端APP的搜索信息:颐和园北宫门;从而,云服务端搜索服务利用“颐和园北宫门”作为关键词,检索索引数据召回的POI,然后经过排序,可以返回如下结果:
[颐和园,
颐和园东宫门,
颐和园北宫门,
颐和园售票处,
颐和园西门,
颐和园停车场]
后续过程中,若用户1与用户2(分时或同时,无特别限制)均输入了“颐和园北宫门”这一兴趣点关键词,并在输出的在线排序结果中,用户1点击了“颐和园北宫门”,而用户2则点击了“颐和园售票处”。如此,云服务端搜索服务即可产生相应的用户点击日志。在此基础上,云服务器即可利用前述方法,在新产生的用户点击日志中提取特征数据,作为兴趣点在线排序预测模型的补充训练数据,并利用这些补充训练数据,对兴趣点在线排序预测模型进行训练并更新模型。
在兴趣点在线排序预测模型更新之后,该更新后的兴趣点在线排序预测模型即可应用于后续的兴趣点排序过程。例如,若用户3搜索“颐和园北宫门”,则据此获得的召回POI的列表(搜索结果)可以为:
[颐和园,
颐和园东宫门,
颐和园北宫门,
颐和园售票处,
颐和园西门,
颐和园停车场]
那么,对于上述POI列表中的每个POI,则可以自历史用户点击日志以及搜索系统中,获取各POI的特征数据,然后,将这些特征数据输入兴趣点在线排序预测模型,兴趣点在线排序预测模型可用于预测每个POI是否可能被点击。其表现形式可以如下:
其中,1表示用户可能选择(点击)该搜索结果,0表示用户选择该搜索结果的可能性较低。在此基础上,结合各POI的属性信息,即可实现对POI列表实现二次排序,由此,云服务端输出的兴趣点在线排序结果可以表示如下:
[颐和园,
颐和园北宫门,
颐和园售票处,
颐和园东宫门,
颐和园西门,
颐和园停车场]
之后,可以继续监控日志信息,并基于新生成的日志信息,实现对兴趣点在线排序预测模型的在线实时更新。基于此,本方案中,在每次输出兴趣点在线排序结果后,还可以继续采集用户针对前述搜索结果的操作信息,并据此在线更新兴趣点在线排序预测模型。
此时,可以基于用户针对输出结果的操作信息,确定用户选择POI。例如,若用户点击了“颐和园售票处”,则“颐和园售票处”为用户选择POI。然后,获取用户选择POI的关联POI。
本方案中,关联POI与用户选择POI相关联,可以根据预设的POI关联关系获取得到。例如,若与“颐和园售票处”相关联的父POI为“颐和园景区”,则将“颐和园景区”作为关联POI,将其作为补充训练数据,对兴趣点在线排序预测模型进行在线实时训练。
而兴趣点的特征数据可以至少包含如下内容:日志信息和POI信息。其中,日志信息是随着用户操作而自动生成的,其表现形式可以为:{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,点击POI ID_11,DataType,…}。而POI信息则是利用POI ID获取得到,其表现形式如前。基于此,兴趣点在线排序结果和关联POI的表现形式可以如下:
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,颐和园,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,0}。
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,颐和园北宫门,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,0}。
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,颐和园售票处,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,1}。
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,颐和园新建宫门,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,0}。
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,颐和园西门,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,0}。
{客户端APP版本,引擎版本,GUID,IMEI,手机系统,手机品牌,手机型号,搜索关键词,城市,当前位置,POI列表,颐和园景区,DataType,NAME,ADDRESS,PROVINCECODE,CITYCODE,DISTRICTCODE,NAVITYPE,BRAND,TYPENAME,TYPECOD,TAG,…,1}。
其中,兴趣点的特征数据中最后一个字符用于标识用户是否选择该POI;如1表示用户点击该POI,0表示用户未点击该POI。在前述兴趣点的特征数据中,用户选择POI“颐和园售票处”及其关联POI(父POI)“颐和园景区”的最后一位字符为1,其余POI为0。
如此,将前述6条数据作为样本数据,对兴趣点在线排序预测模型进行在线训练和更新即可。
此外,本方案中,兴趣点在线排序预测模型还可以提前线下训练后,再部署在线上。
其中,线下训练时,以将历史日志数据中各POI的兴趣点的特征数据、历史日志数据中的目标POI所关联的父POI的兴趣点的特征数据,作为样本数据进行训练。在训练过程中,还可以利用NDCG和MAP对兴趣点在线排序预测模型的预测准确率进行评测,直至模型的预测准确率达到预设阈值。
如此,通过前述处理,兴趣点在线排序预测模型可以近似实时的随线上数据进行在线训练和更新,提高预测结果的实时性与预测准确率。而利用该兴趣点在线排序预测模型进行对象展示的搜索系统,也能够输出更方便用户操作的展示结果,方便用户操作。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各对象标识,但这些对象标识不应受到这些术语的限制。这些术语仅用于将一个对象标识与另一个对象标识区别开。比如,在不改变描述的含义的情况下,第一对象标识可以叫做第二对象标识,并且同样第,第二对象标识可以叫做第一对象标识,只要所有出现的“第一对象标识”一致重命名并且所有出现的“第二对象标识”一致重命名即可。第一对象标识和第二对象标识都是对象标识,但可以不是相同的对象标识。
本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。
产品实施例:
基于上述实施例一所披露的兴趣点在线搜索排序方法,本公开实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
本公开实施例披露了一种兴趣点搜索系统,请参考图4,该兴趣点搜索系统400包括:
搜索请求接口410,用于获取兴趣点的搜索请求;
搜索引擎420,用于识别、解析所述搜索请求,基于数据库及索引数据,生成初次排序得到的所述兴趣点的搜索结果
兴趣点在线排序预测模型430,用于结合所述搜索结果中兴趣点的属性信息,对所述搜索结果进行二次排序,得到兴趣点在线排序结果;
在线训练模块440,用于根据在线搜索过程生成的用户点击日志信息,对所述兴趣点在线排序预测模型进行在线训练及更新;更新后的兴趣点在线排序预测模型用于对下一次用户所搜索兴趣点的排序预测;
搜索结果返回接口450,用于输出所述兴趣点在线排序结果。
在一种可能的实施例中,所述在线训练模块440(图4未示出)进一步可以包括:
在线数据获取单元,用于记录并监控用户点击日志信息,并从中提取特征数据;
在线训练更新单元,用于根据所述特征数据,结合相关的兴趣点数据及兴趣点父子关系数据,对所述兴趣点在线排序预测模型进行在线训练及更新。
在另一种可能的实施例中,所述在线训练模块440(图4未示出)还进一步还可包括:
所述在线数据获取单元,还用于记录每个维度的所述特征数据产生的时间;
特征筛选单元,用于判断每个维度特征数据产生的时间与当前时间的时间间隔是否满足训练条件,选取满足所述训练条件的数据作为所述兴趣点在线排序预测模型的训练数据。
图4所示实施例的兴趣点搜索系统400可用于执行上述方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述,可选的,该兴趣点搜索系统400可以部署在服务器或终端上。
应当理解的是,以上图4所示兴趣点搜索系统400的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,在线数据获取单元441可以为单独设立的处理元件,也可以集成在兴趣点搜索系统400中,例如终端的某一个芯片中实现,此外,也可以以程序的形式存储于兴趣点搜索系统400的存储器中,由兴趣点搜索系统400的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
并且,本公开实施例披露了一种云端搜索服务平台,请参考图5,该云端搜索服务平台500包括:存储器510、处理器520、以及计算机程序;其中,计算机程序存储在存储器510中,并被配置为由处理器520执行以实现如上述实施例所述的方法。
其中,云端搜索服务平台500中处理器520的数目可以为一个或多个,处理器520也可以称为处理单元,可以实现一定的控制功能。所述处理器520可以是通用处理器或者专用处理器等。在一种可选地设计中,处理器520也可以存有指令,所述指令可以被所述处理器520运行,使得所述云端搜索服务平台500执行上述方法实施例中描述的方法。
在又一种可能的设计中,云端搜索服务平台500可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。
可选地,所述云端搜索服务平台500中存储器510的数目可以为一个或多个,存储器510上存有指令或者中间数据,所述指令可在所述处理器520上被运行,使得云端搜索服务平台500执行上述方法实施例中描述的方法。可选地,所述存储器510中还可以存储有其他相关数据。可选地处理器520中也可以存储指令和/或数据。所述处理器520和存储器510可以单独设置,也可以集成在一起。
此外,如图5所示,在该云端搜索服务平台500中还设置有收发器530,其中,所述收发器530可以称为收发单元、收发机、收发电路、或者收发器等,用于与测试设备或其他终端设备进行数据传输或通信,在此不再赘述。
如图5所示,存储器510、处理器520与收发器530通过总线连接并通信。
若该云端搜索服务平台500用于实现对应于图2中的方法时,例如,可以由收发器530输出在线排序结果,以及,还可以由收发器530获取用户操作信息。而处理器520用于完成相应的确定或者控制操作,可选的,还可以在存储器510中存储相应的指令。各个部件的具体的处理方式可以参考前述实施例的相关描述。
此外,本公开实施例披露了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行以实现如方法实施例所述的兴趣点在线搜索排序方法。
由于本实施例中的各模块能够执行实施例一所示的方法,本实施例未详细描述的部分,可参考对实施例一的相关说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为作为一种可选的实现方式,本公开的真正范围和精神由下面的权利要求书指出。
Claims (10)
1.一种兴趣点在线搜索排序方法,其特征在于,包括:
获取用户搜索请求相关的兴趣点关键词,搜索索引数据召回兴趣点,初次排序后生成所述兴趣点的搜索结果;
利用预先建立和训练的兴趣点在线排序预测模型,结合所述搜索结果中兴趣点的属性信息,对所述搜索结果进行二次排序,得到并输出兴趣点在线排序结果;
其中,所述兴趣点在线排序结果与所述兴趣点在线排序预测模型预测的用户感兴趣程度相关联。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
记录用户在线搜索过程的点击日志,实时监控记录的日志信息;
从监控到的日志信息中提取特征数据,结合相关的兴趣点数据及兴趣点父子关系数据,作为补充训练数据,以在线训练所述兴趣点在线排序预测模型,并更新所述兴趣点在线排序预测模型的参数配置;
更新后的兴趣点在线排序预测模型用于对下一次用户所搜索兴趣点的排序预测。
3.根据权利要求2所述的方法,其特征在于,该方法还包括:
记录每个维度的所述特征数据产生的时间;
判断每个维度的所述特征数据产生的时间与当前时间的时间间隔是否满足训练条件,选取满足所述训练条件的特征数据作为所述兴趣点在线排序预测模型的训练数据;
其中,不满足所述训练条件的特征数据为低频特征,从所述训练数据中剔除,以调整所述兴趣点在线排序预测模型的学习速率。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述初次排序进一步包括:根据所述兴趣点关键词,利用文本相似度和历史点击量进行排序,返回召回的兴趣点POI列表作为所述搜索结果;和/或,
所述二次排序进一步包括:基于所述搜索结果,利用所述兴趣点在线排序预测模型,结合所述兴趣点的属性信息进行排序及用户点击预测,将归一化后的排序结果作为所述兴趣点在线排序结果,并展示给用户。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述兴趣点在线排序预测模型的建立和训练进一步包括:
建立所述兴趣点在线排序预测模型;
从历史用户点击日志中提取特征数据,离线训练所述兴趣点在线排序预测模型,获取并保存模型参数和特征权重;
利用系统搜索的POI标识ID列表与预设的标准ID列表进行对比,并归一化,得到训练评测分数,以对模型参数和特征权重进行评测;
根据评测结果,选择最优的模型参数和特征权重来作为部署到线上服务器之前的所述兴趣点在线排序预测模型的初始配置条件。
6.根据权利要求5所述的方法,其特征在于,所述兴趣点在线排序预测模型的建立和训练还包括:
利用预设的POI父子关系中父POI ID与子POI ID的映射关系,根据所述历史用户点击日志中提取到的POI ID,获取对应的父POI ID,将获取到的父POI的信息作为在线训练所述兴趣点在线排序预测模型的补充训练数据,在线训练以优化所述兴趣点在线排序预测模型的预测准确率。
7.一种兴趣点搜索系统,其特征在于,包括:
搜索请求接口,用于获取兴趣点的搜索请求;
搜索引擎,用于识别、解析所述搜索请求,基于数据库及索引数据,生成初次排序得到的所述兴趣点的搜索结果
兴趣点在线排序预测模型,用于结合所述搜索结果中兴趣点的属性信息,对所述搜索结果进行二次排序,得到兴趣点在线排序结果;
在线训练模块,用于根据在线搜索过程生成的用户点击日志信息,对所述兴趣点在线排序预测模型进行在线训练及更新;更新后的兴趣点在线排序预测模型用于对下一次用户所搜索兴趣点的排序预测;
搜索结果返回接口,用于输出所述兴趣点在线排序结果。
8.根据权利要求7所述的兴趣点搜索系统,其特征在于,所述在线训练模块进一步包括:
在线数据获取单元,用于记录并监控用户点击日志信息,并从中提取特征数据;
在线训练更新单元,用于根据所述特征数据,结合相关的兴趣点数据及兴趣点父子关系数据,对所述兴趣点在线排序预测模型进行在线训练及更新。
9.根据权利要求8所述的兴趣点搜索系统,其特征在于,所述在线训练模块还进一步包括:
所述在线数据获取单元,还用于记录每个维度的所述特征数据产生的时间;
特征筛选单元,用于判断每个维度特征数据产生的时间与当前时间的时间间隔是否满足训练条件,选取满足所述训练条件的数据作为所述兴趣点在线排序预测模型的训练数据。
10.一种云端搜索服务平台,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010843090.6A CN114168838A (zh) | 2020-08-20 | 2020-08-20 | 兴趣点在线搜索排序方法与系统、以及云端搜索服务平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010843090.6A CN114168838A (zh) | 2020-08-20 | 2020-08-20 | 兴趣点在线搜索排序方法与系统、以及云端搜索服务平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114168838A true CN114168838A (zh) | 2022-03-11 |
Family
ID=80475304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010843090.6A Pending CN114168838A (zh) | 2020-08-20 | 2020-08-20 | 兴趣点在线搜索排序方法与系统、以及云端搜索服务平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168838A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725324A (zh) * | 2024-02-08 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 地图搜索方法及装置、电子设备、存储介质、程序产品 |
-
2020
- 2020-08-20 CN CN202010843090.6A patent/CN114168838A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725324A (zh) * | 2024-02-08 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 地图搜索方法及装置、电子设备、存储介质、程序产品 |
CN117725324B (zh) * | 2024-02-08 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 地图搜索方法及装置、电子设备、存储介质、程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397772B2 (en) | Information search method, apparatus, and system | |
EP3188081B1 (en) | Data processing method and device | |
WO2018041168A1 (zh) | 信息推送方法、存储介质和服务器 | |
CN107291888B (zh) | 基于机器学习统计模型的入住酒店附近生活推荐系统方法 | |
CN108256590B (zh) | 一种基于复合元路径的相似出行者识别方法 | |
CN109032381B (zh) | 一种基于上下文的输入方法、装置、存储介质及终端 | |
CN107798557A (zh) | 电子装置、基于lbs数据的服务场所推荐方法及存储介质 | |
TWI703862B (zh) | 內容推薦方法及裝置 | |
CN111191133B (zh) | 业务搜索处理方法、装置及设备 | |
CN104143005A (zh) | 一种相关搜索系统及方法 | |
CN108230040B (zh) | 到店预测方法及装置 | |
CN109993184A (zh) | 一种数据融合的方法以及数据融合设备 | |
CN110968801A (zh) | 地产产品搜索方法、存储介质及电子设备 | |
KR102601545B1 (ko) | 지리 위치점 정렬 방법, 정렬 모델 트레이닝 방법 및 대응하는 장치 | |
CN111143689A (zh) | 根据用户需求和用户画像构建推荐引擎的方法 | |
JP2011141682A (ja) | 地域情報検索サーバ及び地域情報検索方法 | |
CN115309985A (zh) | 推荐算法的公平性评估方法及ai模型选择方法 | |
CN111159559A (zh) | 根据用户需求和用户行为构建推荐引擎的方法 | |
CN114168838A (zh) | 兴趣点在线搜索排序方法与系统、以及云端搜索服务平台 | |
CN112765374A (zh) | 一种用于信息推送的教育资源筛选系统及其方法 | |
CN112115354B (zh) | 信息处理方法、装置、服务器及存储介质 | |
CN113343095A (zh) | 一种模型训练以及信息推荐方法及装置 | |
CN112559877A (zh) | 基于跨平台异构数据及行为上下文的ctr预估方法及系统 | |
CN107766881B (zh) | 一种基于基础分类器的寻路方法、设备及存储设备 | |
CN104615620A (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 |