CN115495674A - 信息点搜索的方法和装置 - Google Patents

信息点搜索的方法和装置 Download PDF

Info

Publication number
CN115495674A
CN115495674A CN202110670104.3A CN202110670104A CN115495674A CN 115495674 A CN115495674 A CN 115495674A CN 202110670104 A CN202110670104 A CN 202110670104A CN 115495674 A CN115495674 A CN 115495674A
Authority
CN
China
Prior art keywords
poi
search
text
address
user
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
Application number
CN202110670104.3A
Other languages
English (en)
Inventor
刘文杰
冯乐天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110670104.3A priority Critical patent/CN115495674A/zh
Priority to EP22824101.4A priority patent/EP4354323A1/en
Priority to PCT/CN2022/097656 priority patent/WO2022262621A1/zh
Publication of CN115495674A publication Critical patent/CN115495674A/zh
Priority to US18/541,155 priority patent/US20240111797A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Remote Sensing (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了信息点搜索的方法和装置,客户端根据用户输入的第一搜索文本和客户端中存储的第一用户数据,对该第一搜索文本进行地址扩展,得到包括第一搜索文本和基于第一用户数据得到的第一地址信息的第二搜索文本,由于该第二搜索文本中的第一地址信息与用户个人信息息息相关,第一地址信息表示的地址大概率会代表用户期望搜索到的POI的地址,因此,服务端基于该第二搜索文本反馈的POI搜索结果中大概率会包括用户感兴趣或期望的POI的搜索结果,符合用户真实的搜索意图,满足用户的个性化需求,提高了用户体验。

Description

信息点搜索的方法和装置
技术领域
本申请涉及搜索技术领域,更具体地,涉及一种信息点搜索的方法和装置。
背景技术
信息点(point of information,POI)搜索是移动互联网时代用户的基本需求,已经融入生活的每一个方面,例如日常出行、旅游、餐饮等方面。
在现有技术中,POI搜索的流程大致为:客户端将用户输入的搜索文本发送给服务端,服务端对搜索文本分析,利用服务端的用户画像搜索到与该搜索文本匹配的搜索结果,对搜索结果进行排序后反馈给客户端。由于服务端的用户画像并不能很好地反映与用户个人相关的信息,因此,在一些场景中,服务端反馈的搜索结果可能无法满足用户的个性化需求,用户体验不高。
基于此,需要提供一种技术,可以尽可能满足用户的个性化需求,提高用户体验。
发明内容
本申请提供了一种POI搜索的方法和装置,基于用户输入的搜索文本可以输出符合用户真实搜索意图的搜索结果,满足用户的个性化需求,可提高用户体验。
第一方面,提供了一种信息点搜索的方法,其特征在于,包括:
获取用户输入的第一搜索文本;
根据所述第一搜索文本和客户端的第一用户数据,确定第二搜索文本,所述第一用户数据包括地址集合,所述第二搜索文本包括所述第一搜索文本和第一地址信息,所述第一地址信息表示至少一个地址,每个地址对应的信息点POI与所述第一搜索文本匹配,所述每个地址与所述地址集合中的地址相关;
向服务端发送搜索请求,所述搜索请求包括所述第二搜索文本;
接收所述服务端响应于所述搜索请求发送的多个POI搜索结果,所述多个POI搜索结果包括与所述第二搜索文本匹配的M个POI搜索结果,M为大于或等于1的整数。
第一搜索文本是与POI相关的内容。示例性地,该第一搜索文本可以是POI的名称、POI的类型或POI的地址等中的至少一个。
第一用户数据是存储在客户端的本地数据,该第一用户数据记录了用户大量的个人信息。示例性地,第一用户数据可以包括例如短信、备忘录等包括本地个人信息的应用数据。
每个地址对应的POI表示具备该地址的POI,或者,POI的地址即为对应于该POI的地址。
每个地址对应的POI与第一搜索文本匹配,可以理解为,每个地址对应的POI的相关内容与第一搜索文本具有相关性。示例性地,POI的相关内容与第一搜索文本具有相关性可以采用POI的相关内容与第一搜索文的内容相同或部分相同表示,POI的相关内容可以是POI的类型、POI的名称或POI的地址中的至少一个。
第一地址信息所表示的每个地址与地址集合中的地址相关,有如下两种解释。
第一种解释:第一地址信息所表示的每个地址是地址集合中的地址。
第二种解释:该第一地址信息所表示的每个地址是基于地址集合中与该每个地址对应的地址得到的,其中,地址集合中与该每个地址对应的地址是地址集合中与该每个地址具有相同区域范围的地址。
本申请实施例提供的信息点搜索的方法,客户端根据用户输入的第一搜索文本和客户端中存储的第一用户数据,对该第一搜索文本进行地址扩展,得到包括第一搜索文本和基于第一用户数据得到的第一地址信息的第二搜索文本,通过搜索请求将该第二搜索文本发送给服务端,服务端基于该第二搜索文本反馈多个POI搜索结果。由于该第二搜索文本是基于客户端的第一用户数据得到的包括第一地址信息的搜索文本,第一地址信息与用户个人息息相关,第一地址信息表示的地址大概率会代表用户期望搜索到的POI的地址,因此,服务端基于该第二搜索文本反馈的POI搜索结果中大概率会包括用户感兴趣或期望的POI的搜索结果,符合用户真实的搜索意图,满足用户的个性化需求,提高了用户体验,同时提升了搜索性能。此外,由于第一用户数据存储在用户个人的客户端,尽可能避免了用户隐私泄露的问题。
可选地,所述根据所述第一搜索文本和客户端的第一用户数据,确定第二搜索文本,包括:
根据所述第一搜索文本,从所述第一用户数据中筛选出候选POI文本集合,所述候选POI文本集合中的每个候选POI文本与所述第一搜索文本匹配且包括地址信息,所述每个候选POI文本中的地址信息所表示的地址是所述地址集合中的地址;
根据所述第一搜索文本和所述候选POI文本集合,确定所述第二搜索文本,所述第一地址信息所表示的每个地址与所述候选POI文本集合中的地址信息所表示的地址相关。
其中,候选POI文本与第一搜索文本匹配,表示的是,候选POI文本中包括与第一搜索文本的部分或全部内容相同的内容。
本申请实施例提供的信息点搜索的方法,根据基于第一用户数据中筛选的候选POI文本集合对第一搜索文本进行地址扩展,得到第二搜索文本,可以得到相对有效的地址以得到相对有效的第二搜索文本,减少服务端的搜索成本。此外,在候选POI文本的数量较少时,该方法具有很好的适用性,也能减少客户端由于额外进行多次筛选造成的较长的处理时延。
可选地,所述候选POI集合包括多个候选POI文本;以及,所述根据所述第一搜索文本和所述候选POI文本集合,确定所述第二搜索文本,包括:
根据所述每个候选POI文本对应的POI的有效时间和/或所述每个候选POI文本对应的POI的热度,从所述候选POI文本集合中筛选出最终的候选POI文本;
根据所述第一搜索文本和所述最终的候选POI文本,确定所述第二搜索文本,所述第一地址信息所表示的每个地址与所述最终的候选POI文本中的地址信息所表示的地址相关。
本申请实施例提供的信息点搜索的方法,对基于第一用户数据中筛选的候选POI文本集合进行第二次筛选,可以进一步减少候选POI文本的数量,得到更有效的地址,以更好地减少服务端的搜索文本。此外,采用候选POI文本对应的POI的有效时间对候选POI文本集合进行第二次筛选,考虑了POI的时效性,可以有效排除无效的POI,采用候选POI文本对应的POI的热度进行第二次筛选,考虑了用户对POI的关注度,可以有效排序用户不感兴趣的POI。
可选地,所述每个候选POI文本对应的POI的热度包括:所述POI在所述客户端中出现的频率。
可选地,所述方法还包括:
对每个POI搜索结果进行特征提取,确定所述每个POI搜索结果对应的至少一个特征值,所述每个POI搜索结果对应的至少一个特征值包括所述每个POI搜索结果对应的POI的历史点击次数,所述历史点击次数是基于所述客户端的软件开发工具包SDK日志数据得到的,所述SDK日志数据记录有用户在各个APP中对POI的点击操作;
根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定推荐排序。
本申请实施例提供的信息点搜索的方法,针对服务端反馈的多个POI搜索结果,客户端对每个POI搜索进行特征提取,得到包括每个POI搜索结果对应的POI的历史点击次数的至少一个特征值,基于该至少一个特征值对多个POI搜索结果进行排序,得到最终的推荐排序。由于用户对POI的历史点击次数可以反映用户对POI的关注度,所以,基于每个POI搜索结果对应的POI的历史点击次数对多个POI搜索结果进行排序,可以得到更具用户个性化的排序。更重要的是,相比于服务端只能获取某个APP中关于POI的点击次数,本申请实施例通过记录有各个APP对POI的点击操作的SDK日志数据可以得到用户针对POI的所有的历史点击次数,实现了各个APP之间的数据共享,可以得到更具用户个性化的排序,满足用户的个性化需求;而且,在该排序中,用户期望的POI搜索结果大概率是多个POI搜索结果中的第一个POI搜索结果,可以使得用户能够快速看到自己期望的POI搜索结果,进一步提高用户体验。
可选地,所述根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定推荐排序,包括:
根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定客户端排序;
根据所述客户端排序和服务端针对所述多个POI搜索结果进行排序得到的服务端排序,确定所述推荐排序,其中,所述推荐排序的第一个POI搜索结果是所述客户端排序的第一个POI搜索结果,所述推荐排序中除所述推荐排序的第一个POI搜索结果以外的POI搜索结果的排序是所述服务端排序中除所述推荐排序的第一个POI搜索结果以外的POI搜索结果的排序。
其中,推荐排序的第一个POI搜索结果是该推荐排序中位于首位的POI搜索结果,同理,客户端排序的第一个POI搜索结果是该客户端排序中位于首位的POI搜索结果。
本申请实施例提供的信息点搜索的方法,由于客户端排序考虑了用户对POI的历史点击次数,客户端排序中的第一个POI搜索结果最有可能是用户期望的POI搜索结果,所以,将客户端排序的第一个POI搜索结果作为推荐排序的第一个POI搜索结果,可以使得用户快速看到自己期望的POI搜索结果,使得推荐排序具有用户个性化特性,用户体验好;同时,由于服务端排序与用户画像有关,服务端排序具有一类用户的共性特点,所以,将服务端排序中除服务端的第一个POI搜索结果以外的其余POI搜索结果的排序作为推荐排序中除推荐排序的第一个POI搜索结果以外的POI搜索结果的排序,可以满足用户的共性体验。因此,综合客户端排序和服务端排序得到推荐排序,不仅具有用户个性化特性,也具有用户共性特征,推荐排序的综合性能更好,用户体验更好。
可选地,所述每个POI搜索结果对应的至少一个特征值还包括以下至少一项:
用于表示所述第二搜索文本与所述每个POI搜索结果对应的POI的相关度的特征值,或,
所述客户端当前所处的地址与所述每个POI搜索结果对应的POI的距离,或,
所述每个POI搜索结果对应的POI的类型的特征值。
可选地,所述客户端排序是根据学习排序LTR模型得到的;以及,所述方法还包括:
根据用户对所述多个POI搜索结果中至少一个POI搜索结果的点击操作,更新所述SDK日志数据,以更新所述LTR模型。
本申请实施例提供的信息点搜索的方法,根据用户对POI搜索结果的点击操作更新SDK日志数据,以更新LTR模型,可以使得LTR模型实时学习用户的点击行为,能更快、更好、更有效地学习用户个人的习惯,进一步提高用户的个性化需求,进一步提高用户体验。
可选地,所述搜索请求还包括所述第一搜索文本;以及,
所述多个POI搜索结果中还包括除所述M个POI搜索结果以外的与所述第一搜索文本匹配的N个POI搜索结果,N为大于或等于1的整数。
本申请实施例提供的信息点搜索的方法,由于第二搜索文本中的第一地址信息是客户端基于第一用户数据进行地址扩展得到的用户可能的一种搜索意图,是一种猜测行为,为了避免意图猜测失误,在该实施例中,通过在搜索请求中同时携带用户输入的第一搜索文本和进行地址扩展得到的第二搜索文本,保留的第一搜索文本反映了用户的原始意图,第二搜索文本反映了用户真实的搜索意图,这样,可以使得服务端尽可能反馈所有可能的搜索结果,以全面反映用户的所有意图,在可以实现个性化搜索的同时,提高搜索结果的全面性和准确性,进一步提高用户体验。
可选地,所述第二搜索文本是被加密的搜索文本。
本申请实施例提供的信息点搜索的方法,由于第二搜索文本中包括涉及用户隐私的第一地址信息,为了避免数据传输过程中用户隐私被泄露,通过将第二搜索文本进行加密,可避免数据传输过程中用户隐私被泄露,提高安全性。
第二方面,提供了一种信息点搜索的装置,其特征在于,包括:处理单元和收发单元,
所述处理单元用于,获取用户输入的第一搜索文本;
所述处理单元还用于,根据所述第一搜索文本和装置的第一用户数据,确定第二搜索文本,所述第一用户数据包括地址集合,所述第二搜索文本包括所述第一搜索文本和第一地址信息,所述第一地址信息表示至少一个地址,每个地址对应的信息点POI与所述第一搜索文本匹配,所述每个地址与所述地址集合中的地址相关;
所述收发单元用于,向服务端发送搜索请求,所述搜索请求包括所述第二搜索文本;
所述收发单元还用于,接收所述服务端响应于所述搜索请求发送的多个POI搜索结果,所述多个POI搜索结果包括与所述第二搜索文本匹配的M个POI搜索结果,M为大于或等于1的整数。
可选地,所述处理单元具体用于:
根据所述第一搜索文本,从所述第一用户数据中筛选出候选POI文本集合,所述候选POI文本集合中的每个候选POI文本与所述第一搜索文本匹配且包括地址信息,所述每个候选POI文本中的地址信息所表示的地址是所述地址集合中的地址;
根据所述第一搜索文本和所述候选POI文本集合,确定所述第二搜索文本,所述第一地址信息所表示的每个地址与所述候选POI文本集合中的地址信息所表示的地址相关。
可选地,所述候选POI集合包括多个候选POI文本;以及,所述处理单元具体用于:
根据所述每个候选POI文本对应的POI的有效时间和/或所述每个候选POI文本对应的POI的热度,从所述候选POI文本集合中筛选出最终的候选POI文本;
根据所述第一搜索文本和所述最终的候选POI文本,确定所述第二搜索文本,所述第一地址信息所表示的每个地址与所述最终的候选POI文本中的地址信息所表示的地址相关。
可选地,所述处理单元还用于:
对每个POI搜索结果进行特征提取,确定所述每个POI搜索结果对应的至少一个特征值,所述每个POI搜索结果对应的至少一个特征值包括所述每个POI搜索结果对应的POI的历史点击次数,所述历史点击次数是基于所述装置的软件开发工具包SDK日志数据得到的,所述SDK日志数据记录有用户在各个APP中对POI的点击操作;
根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定推荐排序。
可选地,所述处理单元具体用于:
根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定客户端排序;
根据所述客户端排序和服务端针对所述多个POI搜索结果进行排序得到的服务端排序,确定所述推荐排序,其中,所述推荐排序的第一个POI搜索结果是所述客户端排序的第一个POI搜索结果,所述推荐排序中除所述推荐排序的第一个POI搜索结果以外的POI搜索结果的排序是所述服务端排序中除所述推荐排序的第一个POI搜索结果以外的POI搜索结果的排序。
可选地,所述每个POI搜索结果对应的至少一个特征值还包括以下至少一项:
用于表示所述第二搜索文本与所述每个POI搜索结果对应的POI的相关度的特征值,或,
所述装置当前所处的地址与所述每个POI搜索结果对应的POI的距离,或,
所述每个POI搜索结果对应的POI的类型的特征值。
可选地,所述客户端排序是根据学习排序LTR模型得到的;以及,所述处理单元还用于:
根据用户对所述多个POI搜索结果中至少一个POI搜索结果的点击操作,更新所述SDK日志数据,以更新所述LTR模型。
可选地,所述搜索请求还包括所述第一搜索文本;以及,
所述多个POI搜索结果中还包括除所述M个POI搜索结果以外的与所述第一搜索文本匹配的N个POI搜索结果,N为大于或等于1的整数。
可选地,所述第二搜索文本是被加密的搜索文本。
第三方面,提供一种信息点搜索的装置,所述装置用于执行上述第一方面提供的方法。具体地,所述装置可以包括用于执行上述第一方面中任一方面中任一种可能实现方式的模块。
第四方面,提供一种信息点搜索的装置,包括处理器。该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被装置执行时,使得所述装置实现上述第一方面或中任一种可能实现方式中的方法。
第六方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得装置实现上述第一方面中任一种可能实现方式中的方法。
第七方面,提供一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述第一方面中任一种可能实现方式中的方法。
附图说明
图1本申请实施例提供的搜索***的示意图。
图2是本申请实施例提供的POI搜索的方法的示意性流程图。
图3是本申请实施例提供的地图的GUI。
图4是本申请实施例提供的将短信中预定酒店的消息转化为半结构化的POI文本的示意图。
图5是本申请实施例提供的客户端根据第一搜索文本和第一用户数据确定第二搜索文本的示意性流程图。
图6是本申请实施例提供的客户端根据第一搜索文本和第一用户数据确定第二搜索文本的另一示意性流程图。
图7至图9是本申请实施例提供的地图的另一GUI。
图10是本申请实施例提供的POI搜索的***的示意图。
图11是本申请实施例提供的服务端的OS模块与TEE模块之间交互的示意图。
图12是本申请实施例提供的POI搜索的装置的示意性框图。
图13是本申请实施例提供的POI搜索的装置的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
现有的POI搜索中,客户端将用户输入的搜索文本发送给服务端,服务端对搜索文本分析,利用服务端的用户画像搜索到与该搜索文本匹配的搜索结果,对搜索结果进行排序后反馈给客户端。其中,用户画像是根据用户人口统计学信息、社交关系、偏好习惯和消费行为等信息而抽象出来的标签化画像,例如,某人的用户标签为吃货,服务端搜索排序时优先反馈餐厅类的POI。由于用户画像表示的是一类人的特点,并不能很好地反映与用户个人相关的信息,因此,在一些场景中,服务端反馈的搜索结果并不满足用户的个性化需求,影响用户体验。
示例性地,在一种场景中,用户常驻深圳,需要去杭州出差,预定了杭州滨江江陵路的一个亚朵酒店,收到平台发送的酒店预定成功的短信后,用户在出发之前,想要调用地图搜索在杭州预定好的亚朵酒店,在地图的搜索界面上,用户输入“亚朵”,由于用户当前位于深圳,所以,搜索界面上显示的都是深圳的亚朵酒店,实际上,用户希望服务端反馈的搜索结果包括杭州滨江江陵路的亚朵酒店。因此,上述搜索结果并不满足用户的实际需求,不满足用户的个性化需求,用户体验不高。
基于此,本申请实施例提供了一种POI搜索的方法,客户端根据用户输入的第一搜索文本和存储在客户端的第一用户数据,对该第一搜索文本进行地址扩展,得到扩展后的第二搜索文本,该第二搜索文本包括基于第一用户数据得到的地址信息,通过搜索请求将该第二搜索文本发送给服务端,服务端基于该第二搜索文本反馈搜索结果。由于该第二搜索文本是基于客户端的第一用户数据得到的包括地址信息的搜索文本,地址信息与用户个人息息相关,地址信息表示的地址大概率会代表用户期望搜索到的POI的地址,所以,基于该第二搜索文本得到的搜索结果大概率可以输出符合用户真实搜索意图的搜索结果,符合用户的实际需求,满足用户的个性化需求,可提高用户体验。此外,由于用户数据存储在客户端,避免了用户数据存储在服务端而造成用户的隐私得不到保护的问题。
需要说明的是,本申请实施例可以应用于任意可能的搜索领域,例如,可以应用于地图搜索领域。
图1本申请实施例提供的搜索***的示意图。该搜索***100包括客户端110和服务端120,客户端110可以通过有线或无线网络与服务端120连接。
客户端110具有请求搜索数据、数据存储、数据处理功能等。示例性地,客户端110可以是手机、平板电脑、电子阅读器、个人计算机、车载设备、可穿戴设备、智能家居设备等可以和用户直接交互的设备。
在本申请实施例中,客户端110中存储有用户数据,该用户数据包括两类数据。第一类数据记为第一用户数据,该第一用户数据是例如短信、备忘录等包括本地个人信息的应用数据。第二类数据可以理解为用户的行为数据,可以是软件开发工具包(softwaredevelopment kit,SDK)日志数据,主要记录用户在客户端上操作应用程序(application,APP)的使用情况,包括但不限于:用户几点几分打开了某个APP,什么时候关闭了该APP,该APP几点几分崩溃,用户点击该APP的频率,用户点击该APP某些内容的频率等。
在一些实施例中,客户端110可以基于第一用户数据对用户输入的第一搜索文本进行地址扩展,得到包括地址信息的第二搜索文本,以使得服务端基于该第二搜索文本反馈搜索结果。
在另一些实施例中,客户端110可以结合SDK日志数据对服务端反馈的搜索结果重新排序,以得到满足用户实际需求的具有更为准确排序的搜索结果。
服务端120具有数据搜索功能、数据存储功能、以及根据来自客户端110发送的搜索请求反馈搜索结果的功能。服务端120可以为计算设备或服务器等用于搜索数据的设备。示例性地,服务端120可以是运行在各地数据中心的远程服务器集群中的服务器。
以下,结合图2至图9,对本申请实施例的POI搜索的方法做详细说明。
图2是本申请实施例提供的POI搜索的方法200的示意性流程图。
在S210中,客户端获取用户输入的第一搜索文本。
其中,第一搜索文本是与POI相关的内容。示例性地,该第一搜索文本可以是POI的名称、POI的类型或POI的地址等中的至少一个。以杭州滨江江陵路的亚朵酒店作为一个POI为例,POI的名称是亚朵,POI的类型是酒店,POI的地址为杭州滨江江陵路、杭州滨江或杭州。
在该步骤中,示例性地,用户可以通过客户端的APP的搜索框输入第一搜索文本。例如,图3所示为地图的图形用户界面(graphical user interface,GUI),该GUI包括搜索框301,用户可以在搜索框301中手动输入或语音输入第一搜索文本(例如,亚朵)。
在S220中,客户端根据该第一搜索文本和客户端的第一用户数据,确定第二搜索文本,该第一用户数据包括地址集合,该第二搜索文本包括该第一搜索文本和第一地址信息,该第一地址信息表示至少一个地址,每个地址对应的信息点POI与该第一搜索文本匹配,该每个地址与该地址集合中的地址相关。
在该步骤中,目的是基于第一搜索文本和第一用户数据,对第一搜索文本进行地址扩展,得到包括第一地址信息和第一搜索文本的第二搜索文本,尽可能准确地揣摩出用户真实的搜索意图。
第一用户数据是存储在客户端的本地数据,该第一用户数据记录了用户大量的个人信息,基于第一用户数据可得到多个用于表示POI的POI文本,每个POI文本对应一个POI,每个POI文本包括对应的POI的以下至少一项:表示POI的来源的来源(source)信息(例如,短信、备忘录)、表示POI的名称(name)信息(例如,亚朵、香格里拉)、表示POI的类型的类型(type)信息(例如,酒店、餐厅、景点、商场)、表示POI的地址的地址(address)信息(例如,杭州滨江江陵路)、表示POI的有效时间的时间信息,表示POI的热度的热度信息。其中,POI的地址信息可以表示一个地址,POI的有效时间可以采用起始时间(start_time)和结束时间(end_time)表示,POI的热度信息可以反映出用户关注某个POI的热度,示例性地,POI的热度可以采用该POI在客户端中出现的频率(frequency)表示。
为了便于描述,将上述多个POI文本形成的集合记为POI文本集合。
在POI文本集合中,可能有一部分POI文本包括地址信息,另一部分POI文本中不包括地址信息,也有可能所有的POI文本都包括地址信息,所以,POI文本集合中的至少部分POI文本中的每个POI文本包括一个地址信息,该至少部分POI文本中所有的地址信息所表示的地址可以形成为上述地址集合中的地址,其中,该至少部分POI文本包括POI文本集合中的部分或全部POI文本。例如,POI文本集合包括5个POI文本,其中的3个POI文本包括地址信息,其余的2个POI文本不包括地址信息,所以,POI文本集合的部分POI文本包括地址信息,3个POI文本的所有地址信息是3个地址信息,该3个地址信息所表示的地址形成为地址集合中的地址。再例如,POI文本集合包括8个POI文本,每个POI文本中都包括地址信息,所以,POI文本集合中的全部POI文本包括地址信息,总共有8个地址信息,该8个地址信息所表示的地址形成为该地址集合中的地址。
示例性地,第一用户数据可以包括例如短信、备忘录等包括本地个人信息的应用数据。例如,用户的备忘录中记录了用户近期的行程安排,该行程安排是第一用户数据的数据。再例如,短信中记录的用户出行中订酒店、订交通工具等的内容是第一用户数据的数据。
在一些实施例中,客户端可以对第一用户数据过滤、抽取,得到多个POI文本。
在一示例中,客户端对第一用户数据过滤时,可以通过关键字或手机号段等方式过滤掉一些与POI无关的无用信息。例如,在短信中,过滤掉银行通知信息和广告信息。
在一示例中,客户端可以采用自然语言处理(natural language processing,NLP)技术对过滤后的第一用户数据进行抽取得到多个POI文本。
为了便于处理数据,客户端可以采用半结构化数据表示POI文本,采用半结构化数据表示的POI文本可以称为半结构化的POI文本。图4是本申请实施例提供的将短信中预定酒店的消息转化为半结构化的POI文本的示意图。图4中的(a)是短信内容,图4中的(b)半结构化的POI文本,其中,source信息表示文本来源是短信,name信息表示POI的名称是“亚朵酒店”,type信息表示POI的类型是“酒店”,address信息表示POI的详细地址是“杭州滨江”,time信息包括start_time和end_time,start_time表示有效时间的起始时间是“2021.4.3”,end_time表示有效时间的结束时间是“2021.4.5”,frequency信息表示POI在客户端本地出现的频率是“3”,表示POI的热度。
在本申请实施例中,每个地址对应的POI表示具备该地址的POI,或者,POI的地址即为对应于该POI的地址。
每个地址对应的POI与第一搜索文本匹配,可以理解为,每个地址对应的POI的相关内容与第一搜索文本具有相关性。示例性地,POI的相关内容与第一搜索文本具有相关性可以采用POI的相关内容与第一搜索文的内容相同或部分相同表示,POI的相关内容可以是POI的类型、POI的名称或POI的地址中的至少一个。例如,第一搜索文本是“亚朵”,第一地址信息所表示的地址则为与“亚朵”匹配的亚朵酒店的地址,“亚朵”为POI的名称,第一搜索文本的内容与POI的名称相同,具有相关性。
地址集合中的地址表示的是地址集合中的至少部分地址,该至少部分地址是该地址集合中的部分或全部地址。
第一地址信息所表示的每个地址与地址集合中的地址相关,有如下两种解释。
第一种解释:第一地址信息所表示的每个地址是地址集合中的地址。例如,地址集合包括4个地址,其中的1个地址为“西安市高新区丈八五路”,第一地址信息表示1个地址,该第一地址信息所表示的地址也为“西安市高新区丈八五路”,该第一地址信息所表示的地址是地址集合中的地址。
第二种解释:该第一地址信息所表示的每个地址是基于地址集合中与该每个地址对应的地址得到的,其中,地址集合中与该每个地址对应的地址是地址集合中与该每个地址具有相同区域范围的地址。为了便于描述,将“地址集合中与该每个地址对应的地址”简述为“地址集合中对应的地址”。示例性地,该第一地址信息所表示的每个地址的区域范围大于该地址集合中对应的地址的区域范围。例如,地址集合包括4个地址,其中的2个地址分别为“西安市高新区丈八五路”、“西安市雁塔区崇业路”,第一地址信息表示2个地址,其中的一个地址为“西安市高新区”,“西安市高新区”的区域范围大于“西安市高新区丈八五路”的区域范围,该第一地址信息的另一个地址为“西安市雁塔区”,“西安市雁塔区”的区域范围大于“西安市雁塔区崇业路”的区域范围。
在本申请实施例中,客户端在确定第二搜索文本的过程中,可以根据第一搜索文本和第一用户数据进行第一次筛选,得到与第一搜索文本匹配的候选POI文本,若第一次筛选后的候选POI文本的数量不多,可根据第一次筛选后得到的候选POI文本确定第二搜索文本,若第一次筛选后的候选POI文本的数量较多,为了减轻服务端的搜索负荷,可进行第二次筛选,得到更少的候选POI文本,从而,基于第二次筛选后的候选POI文本确定第二搜索文本。
下面,基于一次筛选和二次筛选,分别对客户端根据第一搜索文本和第一用户数据确定第二搜索文本的两种方式做详细说明。
方式1:一次筛选
图5是本申请实施例提供的客户端根据第一搜索文本和第一用户数据确定第二搜索文本的示意性流程图。
在S221中,客户端根据该第一搜索文本,从该第一用户数据中筛选出候选POI文本集合,该候选POI文本集合中的每个候选POI文本与该第一搜索文本匹配且包括地址信息,该每个候选POI文本中的地址信息表示的地址是该地址集合中的地址。
如前所述,客户端基于第一用户数据可得到POI文本集合,客户端可以将第一搜索文本与POI文本集合中的POI文本进行文本匹配,从POI文本集合中筛选出包括地址信息且与该第一搜索文本匹配的至少一个候选POI文本,该至少一个候选POI文本形成候选POI文本集合。
其中,候选POI文本集合中的每个候选POI文本与该第一搜索文本匹配,每个候选POI文本包括一个地址信息,每个候选POI文本的地址信息表示一个地址。
应理解,在该过程中,客户端已经过滤掉了不存在地址信息的POI文本,筛选出的每个候选POI文本都包括地址信息。
还应理解,本申请实施例描述的候选POI文本与第一搜索文本匹配,表示的是,候选POI文本中包括与第一搜索文本的部分或全部内容相同的内容。例如,第一搜索文本是“亚朵”,筛选出的候选POI文本包括“亚朵”。
在候选POI文本集合中的候选POI文本的数量大于1时,各个候选POI文本对应的POI的其他信息不做任何限定。继续以第一搜索文本是“亚朵”为例,各个候选POI文本可以是不同地址的“亚朵”,例如,各个候选POI文本可以是杭州不同区域的亚朵酒店、西安不同区域的亚朵酒店等。
假设,POI文本集合包括4个POI文本,该4个POI文本分别如下所示:
POI文本1:亚朵、酒店、杭州市xxx1、有效时间1、频率为3;
POI文本2:亚朵、酒店、杭州市xxx2、有效时间2、频率为2;
POI文本3:七天、酒店、深圳市xxx3、有效时间3、频率为3;
POI文本4:香格里拉、酒店、深圳市xxx4、有效时间4、频率为3;
第一搜索文本是“亚朵”,基于4个POI文本和第一搜索文本得到2个候选POI文本,2个候选POI文本为POI文本1和POI文本2。
在本申请实施例中,示例性地,客户端可以包括索引模块,索引模块包括对应于各个类型的POI的索引库,每个类型的索引库中存储有对应该类型的POI文本。例如,索引模块中包括类型为“酒店”、“景点”、“餐饮”的索引库,基于第一用户数据得到的多个POI文本对应3种类型的POI,将对应于“酒店”的POI文本存储至类型为“酒店”的索引库中,将对应于“景点”的POI文本存储至类型为“景点”的索引库中,将对应于“餐饮”的POI文本存储至类型为“餐饮”的索引库中。
基于此,客户端基于第一搜索文本,可以在与第一搜索文本匹配的POI的类型对应的索引库中查找与第一搜索文本匹配的候选POI文本。例如,第一搜索文本为“亚朵”,类型为“酒店”,客户端在类型为“酒店”的索引库中查找与“亚朵”匹配的候选POI文本。
在S222中,客户端根据该第一搜索文本和该候选POI文本集合,确定该第二搜索文本,该第一地址信息所表示的每个地址与该候选POI文本集合中的地址信息所表示的地址相关。
在该步骤中,客户端根据候选POI文本集合中的地址信息确定第一地址信息,根据该第一地址信息和该第一搜索文本,确定第二搜索文本。示例性地,客户端可以将该第一地址信息和该第一搜索文本组合在一起,形成第二搜索文本。
候选POI文本集合中的地址信息表示的是候选POI文本集合中的至少部分地址信息,该至少部分地址信息是该候选POI文本集合中所有地址信息的部分或全部地址信息,该至少部分地址信息中的每个地址信息是一个候选POI文本中的地址信息。应理解,候选POI文本集合中所有地址信息表示的是候选POI文本集合中各个候POI文本的地址信息的总和。例如,候选POI文本集合包括3个候选POI文本,3个候选POI文本包括3个地址信息,该3个地址信息即为候选POI文本集合中的所有地址信息。
第一地址信息所表示的每个地址与该候选POI文本集合中的地址信息所表示的地址相关,可以有两种解释。第一种解释:第一地址信息所表示的每个地址是候选POI文本集合中的地址信息所表示的地址。第二种解释:第一地址信息所表示的每个地址是基于该候选POI文本集合的地址信息所表示的地址中与该每个地址对应的地址得到的,其中,该候选POI文本集合的地址信息所表示的地址中与该每个地址对应的地址是候选POI文本集合的地址信息所表示的地址中与该每个地址具有相同区域范围的地址。关于这两种解释的具体举例描述可参考上文关于“第一地址信息所表示的每个地址与地址集合中的地址相关”的相关描述,将上文中的“地址集合中的地址”替换为“候选POI文本集合中的地址信息所表示的地址”即可,其余不再赘述。
例如,第一搜索文本是“亚朵”,候选POI文本集合中包括2个候选POI文本,一个候选POI文本的地址信息表示的地址是“杭州市滨江区江陵路”,另一个候选POI文本的地址信息表示的地址是“杭州市富阳区”,那么,第二搜索文本可以表示为:亚朵、杭州滨江、杭州富阳,或者,第二搜索文本可以表示为:亚朵、杭州滨江江陵、杭州富阳。
应理解,候选POI文本的数量越少越好,在候选POI文本的数量较少或者很少时,对POI文本集合进行一次筛选就可确定第二搜索文本。这样,可以减少客户端由于额外进行多次筛选造成的较长的处理时延。
方式2:二次筛选
在候选POI文本集合的数量较多时,可以对候选POI文本集合进一步筛选,减少候选POI文本的数量,以得到简洁有效的地址信息,从而减少服务端的搜索负荷。
图6是本申请实施例提供的客户端根据第一搜索文本和第一用户数据确定第二搜索文本的另一示意性流程图。
在S221中,客户端根据该第一搜索文本,从该第一用户数据中筛选出候选POI文本集合,该候选POI文本集合中的每个候选POI文本与该第一搜索文本匹配且包括地址信息,该每个候选POI文本中的地址信息表示的地址是该地址集合中的地址。
应理解,该步骤是二次筛选的第一次筛选过程。
关于步骤S221的具体描述可参考方式1中关于步骤S221的相关描述,不再赘述。
在S2221中,客户端根据该每个候选POI文本对应的POI的有效时间和/或该每个候选POI文本对应的POI的热度,从该候选POI文本集合中筛选出最终的候选POI文本。
应理解,该步骤是二次筛选中的第二次筛选过程。
最终的候选POI文本包括至少一个候选POI文本。理想情况下,该最终的候选POI文本包括一个候选POI文本,或者说,最终的候选POI文本的数量为1。
应理解,每个候选POI文本对应的POI的有效时间和/或每个候选POI文本对应的POI的热度,有三种情况的关系:单独存在每个候选POI文本对应的POI的有效时间的情况、单独存在每个候选POI文本对应的POI的热度的情况,同时存在每个候选POI文本对应的POI的有效时间和每个候选POI文本对应的POI的热度的情况。
在该步骤中,客户端可以根据POI的有效时间、POI的热度、或、POI的有效时间和POI的热度从候选POI文本集合中筛选出最终的候选POI文本。
在一些实施例中,客户端根据每个候选POI文本对应的POI的有效时间,从候选POI文本集合中筛选出最终的候选POI文本。示例性地,客户端可以将第一搜索文本的搜索时间和每个候选POI文本对应的POI的有效时间比较,若该搜索时间在该POI的有效时间内,意味着该POI可能是有效的POI,则保留该POI对应的候选POI文本,若该搜索时间在该POI的有效时间以外,意味着该POI可能是无效的POI,则放弃该POI对应的候选POI文本。客户端最终筛选出满足上述条件的最终的候选POI文本。
例如,候选POI文本集合包括2个候选POI文本,分别是:POI文本1:亚朵、酒店、杭州市xxx1、有效时间1(2021.4.3-4.5)、频率为3;POI文本2:亚朵、酒店、杭州市xxx2、有效时间2(2020.10.5-10.9)、频率为2;第一搜索文本的搜索时间是2021.4.3,该搜索时间在POI文本1对应的POI的有效时间(2021.4.3-4.5)内,所以,从候选POI文本集合中筛选出POI文本1,最终的候选POI文本为POI文本1。
在另一些实施例中,客户端根据每个候选POI文本对应的POI的热度,从候选POI文本集合中筛选出最终的候选POI文本。示例性地,客户端将各个候选POI文本对应的POI的热度进行比较,筛选出热度靠前的POI对应的候选POI文本,以得到最终的候选POI文本。例如,客户端将热度最高的POI对应的候选POI文本作为最终的候选POI文本。
在一示例中,候选POI文本对应的POI的热度可以包括:该候选POI文本对应的POI在客户端中出现的频率。应理解,POI的频率越高,表示用户关注该POI的热度越高,反之,POI的频率越低,表示用户关注该POI的热度越低。
例如,候选POI文本集合包括2个候选POI文本,分别是:POI文本1:亚朵、酒店、杭州市xxx1、有效时间1、频率为3;POI文本2:亚朵、酒店、杭州市xxx2、有效时间2、频率为2;POI文本1对应的POI的频率“3”大于POI文本2对应的POI的频率“2”,意味着POI文本1对应的POI的热度高,所以,从候选POI文本集合中筛选出POI文本1最终的候选POI文本为POI文本1。
在另一些实施例中,客户端可以根据每个候选POI文本对应的POI的有效时间和每个候选POI文本对应的POI的热度,从候选POI文本集合中筛选出最终的候选POI文本。
在一示例中,在第一搜索文本的搜索时间在候选POI文本集合中部分候选POI文本对应的POI的有效时间内的情况下,客户端可以将第一搜索文本的搜索时间在POI的有效时间内且POI的热度较高的候选POI文本作为最终的候选POI文本。
在另一示例中,在第一搜索文本的搜索时间都在所有候选POI文本对应的POI的有效时间内或都不在所有候选POI文本对应的POI的有效时间内的情况下,由于无法有效筛选出最终的候选POI文本,可以将POI的热度较高的候选POI文本作为最终的候选POI文本。
在S2222中,客户端根据该第一搜索文本和该最终的候选POI文本,确定该第二搜索文本,该第一地址信息所表示的每个地址与该最终的候选POI文本中的地址信息所表示的地址相关。
在该步骤中,客户端可以根据最终的候选POI文本的地址信息确定第一地址信息,根据该第一地址信息和该第一搜索文本,确定第二搜索文本。示例性地,客户端可以将该第一地址信息和该第一搜索文本组合在一起,形成第二搜索文本。
最终的候选POI文本的地址信息表示的是最终的候选POI文本中的至少部分地址信息,该至少部分地址信息是该最终的候选POI文本中所有地址信息的部分或全部地址信息,该至少部分地址信息中的每个地址信息是一个候选POI文本中的地址信息。应理解,最终的候选POI文本中所有地址信息表示的是最终的候选POI文本中各个候POI文本的地址信息的总和。例如,最终的候选POI文本集合包括2个候选POI文本,2个候选POI文本包括2个地址信息,该2个地址信息即为最终的候选POI文本中的所有地址信息。
该第一地址信息所表示的每个地址与该最终的候选POI文本中的地址信息所表示的地址相关,可以有两种解释,具体描述可参考上文关于“第一地址信息所表示的每个地址与该候选POI文本集合中的地址信息所表示的地址相关”的相关描述,将上文的“候选POI文本集合”替换为“最终的候选POI文本”即可,其余不再赘述。
需要说明的是,在最终的候选POI文本仅包括一个候选POI文本的情况下,最终的候选POI文本的地址信息即为该候选POI文本的地址信息,客户端可以将该候选POI文本的地址信息作为第一地址信息,或者,客户端基于该候选POI文本的地址信息得到第一地址信息,将第一地址信息和第一搜索文本进行组合,得到第二搜索文本。例如,第一搜索文本是“亚朵”,最终的候选POI文本仅包括1个候选POI文本,该候选POI文本的地址信息表示的地址是“杭州市滨江区江陵路”,那么,第一地址信息表示的地址可以是“杭州滨江”,第二搜索文本表示为:亚朵、杭州滨江,或者,第一地址信息表示的地址可以是“杭州滨江江陵”,第二搜索文本表示为:亚朵、杭州滨江江陵。
在S230中,客户端向服务端发送搜索请求,该搜索请求包括该第二搜索文本。
在一些实施例中,该第二搜索文本是被加密的搜索文本。
示例性地,为了更好地保护用户隐私,客户端可将第二搜索文本保存在客户端内的可信执行环境(trusted execution environment,TEE)中,且在TEE中对第二搜索文本进行加密。由于第二搜索文本中包括涉及用户隐私的第一地址信息,为了避免数据传输过程中用户隐私被泄露,通过将第二搜索文本进行加密,可避免数据传输过程中用户隐私被泄露,提高安全性。
在另一些实施例中,该搜索请求包括第一搜索文本和第二搜索文本。示例性地,第一搜索文本和第二搜索文本是被加密的搜索文本。
示例性地,为了更好地保护用户隐私,客户端可将第一搜索文本和第二搜索文本保存至客户端的TEE内,且在TEE中对第一搜索文本和第二搜索文本进行加密。
由于第二搜索文本中的第一地址信息是客户端基于第一用户数据进行地址扩展得到的用户可能的一种搜索意图,是一种猜测行为,为了避免意图猜测失误,通过在搜索请求中同时携带用户输入的第一搜索文本和进行地址扩展得到的第二搜索文本,保留的第一搜索文本反映了用户的原始意图,第二搜索文本反映了用户真实的搜索意图,这样,可以使得服务端尽可能反馈所有可能的搜索结果,以全面反映用户的所有意图,在可以实现个性化搜索的同时,提高搜索结果的全面性和准确性,进一步提高用户体验。
在S240中,服务端响应于该搜索请求,向客户端发送多个POI搜索结果,该多个POI搜索结果包括与该第二搜索文本匹配的M个POI搜索结果,M为大于或等于1的整数。
对应地,客户端接收该多个POI搜索结果。
在该步骤中,服务端基于搜索请求,从数据库中搜索满足搜索请求的POI搜索结果,其中,满足搜索请求的POI搜索结果表示的是与搜索请求中的搜索文本匹配的POI搜索结果。
在一些实施例中,搜索请求包括第二搜索文本,对应地,多个POI搜索结果包括与该第二搜索文本匹配的M个POI搜索结果。
在一示例中,若第二搜索文本被加密,则服务端解密该第二搜索文本,在数据库中搜索与该第二搜索文本匹配的POI搜索结果。
示例性地,为了使得第二搜索文本不被泄露,以更好地保护用户隐私,服务端可将第二搜索文本保存在TEE中,且在TEE中解密该第二搜索文本。应理解,与第二搜索文本匹配的POI搜索结果,表示该第二搜索文本与该POI搜索结果匹配。示例性地,第二搜索文本与POI搜索结果匹配,可以理解为,该第二搜索文本与该POI搜索结果具有相关性,例如,第二搜索文本与POI搜索结果具有相关性可以通过该第二搜索文本的内容与该POI搜索结果对应的POI的相关内容相同或部分相同表示。例如,以第二搜索文本为“亚朵、杭州滨江”为例,与“亚朵、杭州滨江”匹配的POI搜索结果对应的POI是位于杭州滨江区域内的亚朵酒店。
继续以上文所示的图3和图4为例,假设,用户处在深圳,预定了图4所示的杭州滨江江陵路的亚朵酒店,且收到了表示酒店预定成功的短信。用户在图3所示的GUI中的搜索框301中输入第一搜索文本“亚朵”,客户端基于该第一搜索文本和第一用户数据(包括杭州酒店预定成功的短信)得到的第二搜索文本为“亚朵、杭州滨江”,通过搜索请求将该第二搜索文本“亚朵、杭州滨江”发送给服务端,服务端反馈的与第二搜索文本“亚朵、杭州滨江”匹配的POI搜索结果如图3的结果列表框302所示,结果列表框302包括7(即,M=7)个POI搜索结果,一个POI搜索结果对应一个POI,每个POI搜索结果对应的POI都是杭州滨江的亚朵酒店(为了简洁,图中仅示出了POI2的具体地址),其中,POI2是用户期望搜索到的酒店。可以看出,相比于如图1所示的现有技术基于第一搜索文本“亚朵”反馈的POI搜索结果,本申请实施例反馈的POI搜索结果能更好地反映用户真实的行为意图,符合用户的实际需求,满足用户的个性化,提高用户体验。
在另一些实施例中,搜索请求包括第一搜索文本和第二搜索文本,由于第二搜索文本中包括第一搜索文本,所以,与第二搜索文本匹配的搜索结果也必然与第一搜索文本匹配,所以,该多个POI搜索结果都与第一搜索文本匹配,其中的M个POI搜索文本也与第二搜索文本匹配,其余的N个搜索文本仅与第一搜索文本匹配。因此,该多个POI搜索文本包括:M个POI搜索结果、除M个POI搜索结果以外的与该第一搜索文本匹配的N个POI搜索结果。
在一示例中,若第一搜索文本和第二搜索文本被加密,则服务端解密该第一搜索文本和该第二搜索文本,在数据库中搜索与该第一搜索文本匹配的POI搜索结果和与该第二搜索文本匹配的POI搜索结果。
示例性地,为了使得第二搜索文本和第一搜索文本不被泄露,以更好地保护用户隐私,服务端可将第一搜索文本和第二搜索文本保存在TEE中,且在TEE中解密该第一搜索文本和该第二搜索文本。
应理解,在本申请实施例中,与第一搜索文本匹配的POI搜索结果,表示该第一搜索文本与该POI搜索结果匹配,关于“该第一搜索文本与该POI搜索结果匹配”的具体描述可参考上文中关于“该第二搜索文本与该POI搜索结果匹配”的相关描述,不再赘述。
图7是本申请实施例提供的地图的另一GUI。继续假设用户处在深圳,预定了杭州滨江江陵路的亚朵酒店,且收到了表示酒店预定成功的短信,用户在图7所示的GUI中的搜索框401中输入第一搜索文本“亚朵”,客户端基于该第一搜索文本和第一用户数据(包括杭州酒店预定成功的短信)得到的第二搜索文本为“亚朵、杭州滨江”,通过搜索请求将该第一搜索文本“亚朵”和该第二搜索文本“亚朵、杭州滨江”发送给服务端,服务端反馈的POI搜索结果如图7的结果列表框402所示,结果列表框402包括7个POI搜索结果,一个POI搜索结果对应一个POI,其中前5(即,M=5)个POI搜索结果与第二搜索文本和第一搜索文本都匹配,前5个POI搜索结果对应的POI是POI1~POI5,表示的都是杭州滨江的亚朵酒店(为了简洁,图中仅示出了POI2的具体地址),其中的后2(即,N=2)个POI搜索结果是仅与第一搜索文本“亚朵”匹配的POI搜索结果,表示的都是深圳的亚朵酒店。
应理解,在服务端基于搜索请求反馈POI搜索结果的过程中,服务端可以为该多个POI搜索文本进行排序,向客户端反馈具有排序的多个POI搜索结果,如图3或图7所示,结果列表框中按照排序显示出7个POI搜索结果。
一般情况下,服务端可对每个POI搜索结果进行特征提取,得到特征值,将特征值作为排序模型的输入,通过排序模型得到对应于每个POI搜索结果的结果值,根据每个POI搜索结果对应的结果值对该多个POI搜索结果进行排序,得到具有排序的多个POI搜索结果,具体实现过程可参考现有的排序技术。应理解,服务端采用的排序模型可以是各种能够进行排序的排序模型,各个排序模型的输入各有不同,本申请实施例不做任何限定。
需要说明的是,图3和图7所示的多个POI搜索结果的排序仅为示意性说明,不应对其构成限定,只要多个POI搜索结果中存在与第二搜索文本匹配的POI搜索结果即可。例如,以图4为例,POI2对应的POI搜索结果也可能位于排序中的第一个POI搜索结果。
综上,本申请实施例提供的POI搜索的方法,客户端根据用户输入的第一搜索文本和客户端中存储的第一用户数据,对该第一搜索文本进行地址扩展,得到包括第一搜索文本和基于第一用户数据得到的第一地址信息的第二搜索文本,通过搜索请求将该第二搜索文本发送给服务端,服务端基于该第二搜索文本反馈多个POI搜索结果。由于该第二搜索文本是基于客户端的第一用户数据得到的包括第一地址信息的搜索文本,第一地址信息与用户个人息息相关,第一地址信息表示的地址大概率会代表用户期望搜索到的POI的地址,因此,服务端基于该第二搜索文本反馈的POI搜索结果中大概率会包括用户感兴趣或期望的POI的搜索结果,符合用户真实的搜索意图,满足用户的个性化需求,提高了用户体验,同时提升了搜索性能。此外,由于第一用户数据存储在用户个人的客户端,尽可能避免了用户隐私泄露的问题。
如前所述,服务端会反馈具有排序的多个POI搜索结果,服务端在排序过程中,采用的数据都仅限于用户当前使用的APP对应的服务端上的数据,无法实现不同APP对应的服务端之间的数据共享,例如,应用A对应的服务端无法使用应用B对应的服务端中的数据,所以,虽然服务端反馈的POI搜索结果会大概率包括用户期望的POI的搜索结果,但POI搜索结果的排序可能不是最优的,不能很好地为用户提供个性化的排序。例如,用户当前正在使用地图,地图对应的服务端在对POI搜索结果进行排序时,无法使用例如淘宝、美团等其他应用对应的服务端中的数据,地图对应的服务端反馈的POI搜索结果的排序可能不是最优的。
对于用户来说,期望自己感兴趣的POI的搜索结果在排序中靠前,理想情况下,期望自己感兴趣的POI的搜索结果位于排序中的首位。例如,以图3所示的多个POI搜索结果为例,用户期望对应于POI2(杭州滨江江陵路的亚朵酒店)的POI搜索结果是排序中的第一个POI搜索结果,但实际上对应于POI2的POI搜索结果是排序中的第二个POI搜索结果,对于用户个人而言,该排序的个性化特征不足,并不是最优的排序。
因此,本申请实施例提出,可以进一步根据表示用户行为的SDK日志数据得到关于POI的历史点击次数,对该多个POI搜索结果重新排序,得到具有较为准确排序的POI搜索结果,该排序更具带有用户个人风格的个性化特征,可以很好地满足用户需求,进一步提高用户体验。
继续参考图2,在S250中,客户端对每个POI搜索结果进行特征提取,确定该每个POI搜索结果对应的至少一个特征值,该至少一个特征值包括该每个POI搜索结果对应的POI的历史点击次数,该历史点击次数是基于该客户端的SDK日志数据得到的,该SDK日志数据记录有用户在各个APP中对POI的点击操作。
SDK日志数据是一种记录用户行为的数据,主要记录用户操作APP的使用情况,包括用户在各个APP中对POI的点击操作。实现中,每个APP对应有一个SDK日志数据,为了便于描述,本申请实施例将每个APP对应的SDK日志数据记为子SDK日志数据,本申请实施例的SDK日志数据包括各个APP对应的子SDK日志数据,一个子SDK日志数据对应一个APP。
对于任一个APP,用户若点击显示在某个APP上的某个POI,客户端会将用户对该POI的点击操作记录在该APP对应的子SDK日志数据中。由于SDK日志数据包括各个APP对应的子SDK日志数据,所以,对于某个POI,客户端可以通过该SDK日志数据中用户在各个APP中对该POI的点击操作,得到用户对该POI的历史点击次数。因此,针对本申请实施例的每个POI搜索结果对应的POI,用户可通过该SDK日志数据中用户在各个APP中对每个POI搜索结果对应的POI的点击操作,得到每个POI搜索结果对应的POI的历史点击次数。
应理解,每个POI搜索结果对应的POI的历史点击次数是用户在各个APP中对每个POI搜索结果对应的POI的点击次数的总和。例如,以某个POI搜索结果对应的POI1为例,SDK日志数据记录了用户在APP1中对POI1进行了2次点击操作,用户在APP2中对POI1进行了1次点击操作,用户在APP3中POI1进行了2次点击操作,其余APP的SDK日志数据中不存在用户点击POI1的操作,因此,客户端该SDK日志数据得到用户在APP1~APP3中对POI1的历史点击次数为5。
需要说明的是,若一个POI被用户点击的次数越多,则说明用户对该POI的关注度越高,该POI就越重要,所以,基于历史点击次数对多个POI搜索结果进行排序,可以得到更具用户个性化的排序。更重要的是,相比于服务端只能获取某个APP中关于POI的点击次数,本申请实施例通过记录有各个APP对POI的点击操作的SDK日志数据得到针对POI的所有的历史点击次数,实现了各个APP之间的数据共享,可以得到更具用户个性化的排序,满足用户的个性化需求,而且,在该排序中,用户期望的POI搜索结果大概率是多个POI搜索结果中的第一个POI搜索结果,可以使得用户快速看到自己期望的POI搜索结果,进一步提高用户体验。
在一些实施例中,每个POI搜索结果对应的至少一个特征值包括一个特征值,该特征值为该每个POI搜索结果对应的POI的历史点击次数。
在另一些实施例中,每个POI搜索结果对应的至少一个特征值是多个特征值,不仅包括每个POI搜索结果对应的POI的历史点击次数,还包括以下至少一项:
用于表示该第二搜索文本与该每个POI搜索结果对应的POI的相关度的特征值,或,
该客户端当前所处的地址与该每个POI搜索结果对应的POI的距离,或,
该每个POI搜索结果对应的POI的类型的特征值。
针对用于表示该第二搜索文本与该每个POI搜索结果对应的POI的相关度的特征值,示例性地,客户端可以根据第二搜索文本和每个POI搜索结果得到用于表示第二搜索文本与每个POI搜索结果对应的POI的相关度的特征值。
在一示例中,用于表示第二搜索文本与每个POI搜索结果对应的POI的相关度的特征值可以包括:第二搜索文本与每个POI搜索结果对应的POI的名称(name)的最长公共子串长度,和/或,第二搜索文本与每个POI搜索结果对应的POI的地址(address)的最长公共子串长度。例如,若第二搜索文本为“亚朵、杭州滨江”,某个POI搜索结果对应的POI的名称为“亚朵”、地址为“杭州滨江江陵”,第二搜索文本与该POI的名称的最长公共子串长度为2,第二搜索文本与该POI的地址的最长公共子串长度为4。
针对客户端当前所处的地址与每个POI搜索结果对应的POI的距离,应理解,客户端当前所处的地址也可以理解为手持该客户端的用户当前所处的地址。还应理解,客户端当前所处的地址与每个POI搜索结果对应的POI的距离,表示的是,客户端当前所处的地址与每个POI搜索结果对应的POI的地址的距离。
针对每个POI搜索结果对应的POI的类型的特征值,示例性地,客户端可以根据每个POI搜索结果对应的POI的类型与第二搜索文本对应的POI的类型是否相同来确定该每个POI搜索结果对应的POI的类型的特征值。
在一示例中,若每个POI搜索结果对应的POI的类型与第二搜索文本对应的POI的类型相同时,该POI搜索结果对应的POI的类型的特征值可以为1,若每个POI搜索结果对应的POI的类型与第二搜索文本对应的POI的类型不同,则该POI搜索结果对应的POI的类型的特征值可以为0。例如,第二搜索文本为“亚朵、杭州滨江”,POI的类型为酒店,若某个POI搜索结果对应的POI的类型为餐饮,则该POI搜索结果对应的POI的类型的特征值为0,若某个POI搜索结果对应的POI的类型为酒店,则该POI搜索结果对应的POI的类型的特征值为1。
在S260中,客户端根据该每个POI搜索结果对应的至少一个特征值,对该多个POI搜索结果进行排序,确定推荐排序。
这样,客户端可以按照该推荐排序为用户展示该多个POI搜索结果。
为了便于描述客户端根据每个POI搜索结果对应的至少一个特征值确定推荐排序的过程,本申请实施例还定义了除推荐排序以外的两个排序,分别记为服务端排序和客户端排序。服务端排序表示服务端对多个POI搜索结果进行排序得到的排序结果。客户端排序表示客户端对多个POI搜索结果进行排序得到的排序结果。由于客户端排序采用了基于SDK日志数据中记录的各个APP中对POI的点击操作得到的关于POI的历史点击次数,而该各个APP的点击操作是服务端无法利用的,所以,服务端排序与客户端排序的排序结果大概率不同,但是,在一些实际特例中,客户端排序与服务端排序的排序结果也可能相同。
在客户端根据至少一个特征值确定推荐排序的过程中,在一种方式中,可以将客户端排序作为推荐排序,在另一种方式中,可以综合考虑客户端排序和服务端排序,得到推荐排序。
下面,基于上述两种方式,对客户端确定推荐排序的过程做说明。
方式A、推荐排序是客户端排序
在该方式中,客户端根据每个POI搜索结果对应的至少一个特征值,确定客户端推荐,将客户端推荐作为最终的推荐排序展示给用户。
情况1、每个POI搜索结果对应的至少一个特征值包括多个特征值,该多个特征值包括每个POI搜索结果对应的POI的历史点击次数和以下至少一项:用于表示该第二搜索文本与该每个POI搜索结果对应的POI的相关度的特征值,或,该客户端当前所处的地址与该每个POI搜索结果对应的POI的距离,或,该每个POI搜索结果对应的POI的类型的特征值。
在该情况中,客户端可以采用一个排序模型,将每个POI搜索结果对应的多个特征值作为排序模型的输入,该多个特征值经过排序模型的计算,得到一个输出结果,客户端根据每个POI搜索结果对应的输出结果,对多个POI搜索结果进行排序,得到客户端排序。示例性地,排序过程中,按照输出结果从高到低的顺序进行排序,得到客户端排序。
示例性地,若存在输出结果相同的POI搜索结果,可以进一步按照字典序进行排序。例如,POI搜索结果1和POI搜索结果2的输出结果相同,POI搜索结果1对应的POI1为“天安门”,POI搜索结果2对应的POI2为“故宫”,“天安门”的“天”的首字母为“t”,“故宫”的“故”的首字母为“g”,“g”在“t”之前,所以,“故宫”的排序位于“天安门”之前。
为了便于描述,每个POI搜索结果对应的POI的历史点击次数采用x1i表示,第二搜索文本与POI的名称的最长公共子字符串长度采用x2i表示,第二搜索文本与POI的地址的最长公共子字符串长度为x3i表示,客户端当前所处的地址与POI的距离为x4i表示,POI的类型的特征值为x5i表示,基于上述x1i、x2i、x3i、x4i和x5i得到的输出结果采用yi表示,i表示POI搜索结果的编号。
假设,多个POI搜索结果包括4个POI搜索结果,记为POI搜索结果1、POI搜索结果2、POI搜索结果3、POI搜索结果4,其中,
POI搜索结果1对应的多个特征值是:x11、x21、x31、x41和x51,输出结果是y1
POI搜索结果2对应的多个特征值是:x12、x22、x32、x42和x52,输出结果是y2
POI搜索结果3对应的多个特征值是:x13、x23、x33、x43和x53,输出结果是y3
POI搜索结果4对应的多个特征值是:x14、x24、x34、x44和x54,输出结果是y4
对于上述4个输出结果,y1>y2>y3>y4,所以,推荐排序依次按照POI搜索结果1、POI搜索结果2、POI搜索结果3、POI搜索结果4的顺序进行排序。
在一些实施例中,客户端在通过排序模型对多个POI搜索结果进行排序的过程中,每个特征值按照重要程度对应一个权重,重要程度越高,权重越高,在客户端进行排序的过程中,主要利用了POI的历史点击次数,因此,POI的历史点击次数的重要程度可以最高,权重也最高。
示例性地,采用简化的公式,输出结果、特征值和权重的关系可以是:yi=x1i*a1、x2i*a2、x3i*a3、x4i*a4和x5i*a5,a1表示特征值x1i对应的权重,a2表示特征值x2i对应的权重,a3表示特征值x3i对应的权重,a4表示特征值x4i对应的权重,a5表示特征值x5i对应的权重。
在一些实施例中,客户端的排序模型可以是学习排序(learning to rank,LTR)模型,LTR模型是采用机器学习的一种算法,可以是通过机器学习算法自动训练出来的模型。示例性地,LTR模型的输入可以是各个具有不同权重的特征值,输出的是输出结果。
情况2、每个POI搜索结果对应的至少一个特征值包括一个特征值,该特征值为每个POI搜索结果对应的POI的历史点击次数。
在该情况中,客户端根据每个POI搜索结果对应的POI的历史点击次数,对多个POI搜索结果排序,得到客户端排序。示例性地,排序过程中,按照历史点击次数从高到低的顺序进行排序,得到客户端排序。示例性地,若存在历史点击次数相同的POI搜索结果,可以按照字典序进行排序。
应理解,基于本申请实施例得到的推荐排序,由于考虑了每个POI搜索结果对应的POI的历史点击次数,得到的推荐排序的第一个POI搜索结果大概率是用户期望的POI搜索结果。
图8是本申请实施例提供的地图的另一GUI。继续假设用户处在深圳,预定了杭州滨江江陵路的亚朵酒店,且收到了表示酒店预定成功的短信,得到的客户端排序如图8所示,POI2对应的POI搜索结果是用户期望的搜索结果,是多个POI搜索结果中的第一个POI搜索结果。应理解,图8所示的客户端排序仅为示意性说明,不应对本申请实施例构成限定。
本申请实施例提供的POI搜索的方法,针对服务端反馈的多个POI搜索结果,客户端对每个POI搜索进行特征提取,得到包括每个POI搜索结果对应的POI的历史点击次数的至少一个特征值,基于该至少一个特征值对多个POI搜索结果进行排序,得到最终的推荐排序。由于用户对POI的历史点击次数可以反映用户对POI的关注度,所以,基于每个POI搜索结果对应的POI的历史点击次数对多个POI搜索结果进行排序,可以得到更具用户个性化的排序。更重要的是,相比于服务端只能获取某个APP中关于POI的点击次数,本申请实施例通过记录有各个APP对POI的点击操作的SDK日志数据得到的是用户针对POI的所有的历史点击次数,实现了各个APP之间的数据共享,可以得到更具用户个性化的排序,满足用户的个性化需求,而且,在该排序中,用户期望的POI搜索结果大概率是多个POI搜索结果中的第一个POI搜索结果,可以使得用户能够快速看到自己期望的POI搜索结果,进一步提高用户体验。
方式B、推荐排序是基于客户端排序和服务端排序得到的
在一些实施例中,客户端根据该每个POI搜索结果对应的至少一个特征值,对该多个POI搜索结果进行排序,确定客户端排序;
根据该客户端排序和服务端针对该多个POI搜索结果进行排序得到的服务端排序,确定该推荐排序,其中,该推荐排序的第一个POI搜索结果是该客户端排序的第一个POI搜索结果,该推荐排序中除该推荐排序的第一个POI搜索结果以外的POI搜索结果的排序是该服务端排序中除该推荐排序的第一个POI搜索结果以外的POI搜索结果的排序。
其中,关于客户端排序的具体描述可参考上文方式A的相关描述,不再赘述。
应理解,推荐排序的第一个POI搜索结果是该推荐排序中位于首位的POI搜索结果,同理,客户端排序的第一个POI搜索结果是该客户端排序中位于首位的POI搜索结果。
还应理解,客户端排序的第一个POI搜索结果与服务端排序的第一个POI搜索结果可能相同,也可能不同,但无论是否相同,实现中,都需要将客户端排序的第一个POI搜索结果作为推荐排序的第一个POI搜索结果,不需要考虑服务端排序的第一个POI搜索结果。
例如,多个POI搜索结果包括4个POI搜索结果,分别是POI搜索结果1、POI搜索结果2、POI搜索结果3、POI搜索结果4。
服务端排序为:POI搜索结果2、POI搜索结果1、POI搜索结果3、POI搜索结果4,
客户端排序为:POI搜索结果1、POI搜索结果2、POI搜索结果2、POI搜索结果4,推荐排序为:POI搜索结果1、POI搜索结果2、POI搜索结果3、POI搜索结果4。
在该举例中,客户端排序的第一个POI搜索结果是POI搜索结果1,作为推荐排序的第一个POI搜索结果,服务端排序中除推荐排序的第一个POI搜索结果“POI搜索结果1”以外的POI搜索结果的排序为:POI搜索结果2、POI搜索结果3、POI搜索结果4,作为推荐排序中除第一个POI搜索结果“POI搜索结果1”以外的POI搜索结果的排序,按照该排序依次位于“POI搜索结果1”的后面。
图9是本申请实施例提供的地图的另一GUI。继续假设用户处在深圳,预定了杭州滨江江陵路的亚朵酒店,且收到了表示酒店预定成功的短信,得到的推荐排序如图9所示,结合图3所示的服务端排序和图8所示的客户端排序,可以看出,POI2对应的POI搜索结果是图8所示的客户端排序的一个POI搜索结果,是用户期望的搜索结果,POI1、POI3、POI4、POI5、POI6和POI7对应的POI搜索结果的排序是图3所示的服务端排序中除POI2对应的POI搜索结果以外的POI搜索结果的排序。
在该方式中,由于客户端排序考虑了用户对POI的历史点击次数,客户端排序中的第一个POI搜索结果最有可能是用户期望的POI搜索结果,所以,将客户端排序的第一个POI搜索结果作为推荐排序的第一个POI搜索结果,可以使得用户快速看到自己期望的POI搜索结果,使得推荐排序具有用户个性化特性,用户体验好;同时,由于服务端排序与用户画像有关,服务端排序具有一类用户的共性特点,所以,将服务端排序中除服务端第一个POI搜索结果以外的其余POI搜索结果的排序作为推荐排序中除推荐排序的第一个POI搜索结果以外的POI搜索结果的排序,可以满足用户的共性体验。因此,综合具有用户个性化的客户端排序和具有全局化的服务端排序得到推荐排序,不仅具有用户个性化特性,也具有用户共性特征,推荐排序的综合性能更好,用户体验更好。
如前所述,客户端可以采用LTR模型对多个POI搜索结果进行排序,当用户点击某些POI搜索结果时,客户端会在SDK日志数据中记录用户对POI搜索结果的点击操作,以更新SDK日志数据,并且,客户端可以基于更新后的SDK日志数据,实时更新LTR模型,以使得LTR模型可以实时学习用户的点击行为,能更快、更好、更有效地学习用户个人的习惯,进一步提高用户的个性化需求,进一步提高用户体验。
因此,在一些实施例中,在客户端按照推荐排序为用户展示多个POI搜索结果后,该方法还包括:
客户端根据用户对该多个POI搜索结果中至少一个POI搜索结果的点击操作,更新SDK日志数据,以更新LTR模型。
在该过程中,针对该多个POI搜索结果,用户点击感兴趣的至少一个POI搜索结果,客户端将用户对每个POI搜索结果的点击操作都记录在SDK日志数据中,从而,更新SDK日志数据,以更新LTR模型。
示例性地,客户端根据更新后的SDK日志数据得到POI点击信息,该POI点击信息包括用户点击各个POI的点击次数,该各个POI包括该至少一个POI搜索结果对应的POI,将该各个POI的点击次数作为LTR模型的输入,以更新LTR模型。
应理解,POI点击信息是用于记录用户点击各个POI的点击操作的信息,包括用户点击各个POI的点击次数,示例性地,该POI点击信息还可以其他内容,例如,包括用户点击各个POI的时间等的内容。
还应理解,多个POI搜索结果中的至少一个POI搜索结果是被用户点击的POI搜索结果,是该多个POI搜索结果中的部分或全部搜索结果,包括用户最终期望的POI搜索结果,用户最终期望的POI搜索结果是多个POI搜索结果中的某个搜索结果。在实际情况中,用户不仅会点击期望的POI的搜索结果,出于其他因素会也可能点击其他的POI搜索结果,因此,该至少一个POI搜索结果是被用户点击的所有的POI搜索结果。
示例性地,客户端还可以将第二搜索文本添加至用于更新LTR模型的搜索文本集合中,将被用户点击的至少一个POI搜索结果对应的POI添加至用于更新LTR模型的POI集合中,基于搜索文本集合和POI集合得到每个搜索文本与每个POI的相关度的特征值、每个POI搜索结果对应的POI的类型的特征值等特征值,结合基于SDK日志数据得到的各个POI的点击次数,将这些特征值和各个POI的点击次数作为LTR模型的输入,以更新LTR模型。
应理解,搜索文本集合、POI集合和SDK日志数据可以理解为用于更新LTR模型的训练数据。
需要说明的是,如前所述,LTR模型中输入的各个特征值都有对应的权重,更新LTR模型,实际上相当于更新各个特征值对应的权重。
图10是本申请实施例提供的POI搜索的***300,包括:客户端310和服务端320。其中,客户端310包括:数据管理模块311、地址扩展模块312、TEE模块313、排序模型314。下面,结合上文描述的POI搜索的方法对***300做介绍。
1、数据管理模块311
数据管理模块311统一管理客户端310中与POI搜索相关的用户数据,向地址扩展模块312和排序模块314提供数据以及接口支撑,主要分为三个部分:数据源层,数据处理层以及索引层。
数据源层:包含了第一用户数据和SDK日志数据两大类,其中,第一用户数据主要为短信,备忘录等包含本地个人信息的应用数据,SDK日志数据为客户端的APP调用sdk的日志信息。关于这两类数据的具体描述可参考上文的相关描述,不再赘述。
数据处理层:主要对数据源层中的数据按照规则进行处理并供上层使用。
(1)针对第一用户数据,示例性地,数据处理层用于对第一用户数据进行过滤、抽取并将处理后的数据递交至索引层的索引库中。
在一示例中,数据处理层用于进行噪声数据过滤,通过关键字或者手机号段等方式过滤第一用户数据中的广告信息或者无用的数据。例如在短信中过滤掉银行通知信息和广告信息。
在一示例中,数据处理层用于抽取POI文本,利用NLP技术从第一用户数据中抽取与POI相关的多个POI文本。
数据处理层还用于,按照各个POI文本对应的POI的类型,将多个POI文本分别存储至索引层中不同POI类型的索引库中。
(2)针对SDK日志数据,示例性地,数据处理层用于通过日志分析的手段,对SDK日志数据中POI的点击操作,得到各个POI的点击次数,将各个POI的点击次数作为排序模块314中排序模型的输入,以更新排序模型。
关于数据处理层对第一用户数据和SDK日志数据的处理过程可参考上文方法的相关描述,不再赘述。
索引层:索引层中包括对应于各个类型的POI的索引库,每个类型的索引库中存储有对应该类型的POI文本。如图10所示,索引层中包括类型为“酒店”、“景点”、“餐饮”的索引库。
2、地址扩展模块312
地址扩展模块312用于根据第一用户数据,对用户输入的第一搜索文本进行地址扩展,得到第二搜索文本,最终实现面向用户的个性化召回。关于地址扩展模块312进行地址扩展得到第二搜索文本的过程可参考上文方法200中关于步骤S220的相关描述,不再赘述。
3、TEE模块313
TEE模块313用于将第二搜索文本、或,第二搜索文本和第一搜索文本在TEE中进行加密,并发送至服务端320的TEE模块321。
4、排序模块314
排序模块314的目的在于对POI搜索结果进行排序,排序模块314内配置有排序模型。排序模块314用于对服务端320反馈的多个POI搜索结果进行特征提取,得到包括每个POI搜索结果对应的POI的历史点击次数在内的至少一个特征值,将该至少一个特征值作为排序模型的输入,利用排序模型对多个POI搜索结果进行重新排序,返回符合用户搜索意图的推荐排序。
关于排序模块314对多个POI搜索结果进行排序确定推荐排序的过程可参考上文方法200中关于步骤S250和S260的相关描述,不再赘述。
服务端320中可以包括TEE模块321和操作***(operation system,OS)模块322,TEE模块321和OS模块322是服务端上并存的运行环境,TEE模块321为OS模块322提供安全保障。下面,结合图11,对服务端320的TEE模块321与OS模块322之间的交互做说明。
图11是本申请实施例提供的服务端的OS模块321与TEE模块322之间交互的示意图。在该过程中,以搜索请求包括第一搜索文本和第二搜索文本为例做说明。
应理解,由于TEE模块321的目的是处于安全性考虑,保护用户隐私,只要涉及到需要使用第一搜索文本和第二搜索文本的过程都在TEE模块321中执行,基于第一搜索文本和第二搜索文本在数据库中搜索匹配的POI搜索结果的过程在OS模块322中执行。
在S401中,OS模块322接收被加密的第一搜索文本和第二搜索文本,在TEE模块321中解密第一搜索文本和第二搜索文本,并存储在TEE模块321中。
在S402中,OS模块322将带有缺省值的召回模板发送至TEE模块321,TEE模块321将第一搜索文本和第二搜索文本输入召回模板的缺省值中以构造完整的召回请求,且输出该召回请求并发送至OS模块322中,OS模块322基于该召回请求,输出与该召回请求匹配的多个POI搜索结果。应理解,召回模板也可以理解为带有缺省值的请求模板,召回请求用于从数据库中请求搜索结果。
在S403中,OS模块322将多个POI搜索结果发送至TEE模块321,TEE模块321基于第一搜索文本、第二搜索文本和多个POI搜索结果计算每个POI搜索结果对应的POI的特征值,将POI搜索结果对应的POI的特征值发送至OS模块322中,OS模块322完成多个POI搜索结果的排序,输出具有服务端排序的多个POI搜索结果。
下面,结合图12至图13,描述本申请实施例提供的信息点搜索的装置。
图12示出了本申请实施例提供的信息点搜索的装置500,该装置500可以是上文所述的客户端,也可以为客户端中的芯片。该装置500包括:处理单元510和收发单元520。
在一种可能的实现方式中,装置500用于执行上述方法200中客户端对应的各个流程和步骤。
所述处理单元510用于,获取用户输入的第一搜索文本;
所述处理单元510还用于,根据所述第一搜索文本和装置的第一用户数据,确定第二搜索文本,所述第一用户数据包括地址集合,所述第二搜索文本包括所述第一搜索文本和第一地址信息,所述第一地址信息表示至少一个地址,每个地址对应的信息点POI与所述第一搜索文本匹配,所述每个地址与所述地址集合中的地址相关;
所述收发单元520用于,向服务端发送搜索请求,所述搜索请求包括所述第二搜索文本;
所述收发单元520还用于,接收所述服务端响应于所述搜索请求发送的多个POI搜索结果,所述多个POI搜索结果包括与所述第二搜索文本匹配的M个POI搜索结果,M为大于或等于1的整数。
其中,处理单元510可用于执行方法200中步骤S210和S220的流程和步骤,收发单元520可用于执行方法200中的步骤S230和S240中客户端对应的流程和步骤。
应理解,各单元执行上述各个方法中相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,此处不再赘述。
应理解,这里的装置500以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
上述各个方案的装置500具有实现上述方法中接入网设备或核心网设备执行的相应步骤的功能;所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块;例如通信单元可以由发射机和接收机替代,其它单元,如处理单元等可以由处理器替代,分别执行各个方法实施例中的收发操作以及相关的处理操作。此外,装置500中的通信单元也可以由发送单元和接收单元组成,对于执行与接收相关的操作,可以将该通信单元的功能理解为接收单元执行的接收操作,对于执行与发送相关的操作,可以将该通信单元的功能理解为发送单元执行的发送操作。
在本申请的实施例,图12中的装置也可以是芯片或者芯片***,例如:片上***(system on chip,SoC)。对应的,收发单元可以是该芯片的收发电路,在此不做限定。
图13示出了本申请实施例提供的另一信息点搜索的装置600。应理解,装置600可以具体为上述实施例中的客户端,并且可以用于执行上述方法实施例中与客户端对应的各个步骤和/或流程。
装置600包括处理器610、收发器620和存储器630。其中,处理器610、收发器620和存储器630通过内部连接通路互相通信,处理器610可以实现装置600中各种可能的实现方式中处理单元420的功能,收发器620可以实现装置600中各种可能的实现方式中收发单元620的功能。存储器630用于存储指令,处理器610用于执行存储器630存储的指令,或者说,处理器610可以调用这些存储指令实现装置600中处理器620的功能,以控制收发器620发送信号和/或接收信号。
可选地,该存储器630可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器610可以用于执行存储器中存储的指令,并且当该处理器610执行存储器中存储的指令时,该处理器610用于执行上述与接入网设备或核心网设备对应的方法实施例的各个步骤和/或流程。
在一种可能的实现方式中,装置600用于执行上述方法200中客户端对应的各个流程和步骤。
处理器610用于,获取用户输入的第一搜索文本;
处理器610还用于,根据所述第一搜索文本和装置的第一用户数据,确定第二搜索文本,所述第一用户数据包括地址集合,所述第二搜索文本包括所述第一搜索文本和第一地址信息,所述第一地址信息表示至少一个地址,每个地址对应的信息点POI与所述第一搜索文本匹配,所述每个地址与所述地址集合中的地址相关;
收发器620用于,向服务端发送搜索请求,所述搜索请求包括所述第二搜索文本;
收发器620还用于,接收所述服务端响应于所述搜索请求发送的多个POI搜索结果,所述多个POI搜索结果包括与所述第二搜索文本匹配的M个POI搜索结果,M为大于或等于1的整数。
应理解,各个器件执行上述各个方法中相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,此处不再赘述。
应理解,在本申请实施例中,上述装置的处理器可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“元件的至少部分”是指元件的部分或全部。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (22)

1.一种信息点搜索的方法,其特征在于,包括:
获取用户输入的第一搜索文本;
根据所述第一搜索文本和客户端的第一用户数据,确定第二搜索文本,所述第一用户数据包括地址集合,所述第二搜索文本包括所述第一搜索文本和第一地址信息,所述第一地址信息表示至少一个地址,每个地址对应的信息点POI与所述第一搜索文本匹配,所述每个地址与所述地址集合中的地址相关;
向服务端发送搜索请求,所述搜索请求包括所述第二搜索文本;
接收所述服务端响应于所述搜索请求发送的多个POI搜索结果,所述多个POI搜索结果包括与所述第二搜索文本匹配的M个POI搜索结果,M为大于或等于1的整数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一搜索文本和客户端的第一用户数据,确定第二搜索文本,包括:
根据所述第一搜索文本,从所述第一用户数据中筛选出候选POI文本集合,所述候选POI文本集合中的每个候选POI文本与所述第一搜索文本匹配且包括地址信息,所述每个候选POI文本中的地址信息所表示的地址是所述地址集合中的地址;
根据所述第一搜索文本和所述候选POI文本集合,确定所述第二搜索文本,所述第一地址信息所表示的每个地址与所述候选POI文本集合中的地址信息所表示的地址相关。
3.根据权利要求2所述的方法,其特征在于,所述候选POI集合包括多个候选POI文本;以及,所述根据所述第一搜索文本和所述候选POI文本集合,确定所述第二搜索文本,包括:
根据所述每个候选POI文本对应的POI的有效时间和/或所述每个候选POI文本对应的POI的热度,从所述候选POI文本集合中筛选出最终的候选POI文本;
根据所述第一搜索文本和所述最终的候选POI文本,确定所述第二搜索文本,所述第一地址信息所表示的每个地址与所述最终的候选POI文本中的地址信息所表示的地址相关。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
对每个POI搜索结果进行特征提取,确定所述每个POI搜索结果对应的至少一个特征值,所述每个POI搜索结果对应的至少一个特征值包括所述每个POI搜索结果对应的POI的历史点击次数,所述历史点击次数是基于所述客户端的软件开发工具包SDK日志数据得到的,所述SDK日志数据记录有用户在各个APP中对POI的点击操作;
根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定推荐排序。
5.根据权利要求4所述的方法,其特征在于,所述根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定推荐排序,包括:
根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定客户端排序;
根据所述客户端排序和服务端针对所述多个POI搜索结果进行排序得到的服务端排序,确定所述推荐排序,其中,所述推荐排序的第一个POI搜索结果是所述客户端排序的第一个POI搜索结果,所述推荐排序中除所述推荐排序的第一个POI搜索结果以外的POI搜索结果的排序是所述服务端排序中除所述推荐排序的第一个POI搜索结果以外的POI搜索结果的排序。
6.根据权利要求4或5所述的方法,其特征在于,所述每个POI搜索结果对应的至少一个特征值还包括以下至少一项:
用于表示所述第二搜索文本与所述每个POI搜索结果对应的POI的相关度的特征值,或,
所述客户端当前所处的地址与所述每个POI搜索结果对应的POI的距离,或,
所述每个POI搜索结果对应的POI的类型的特征值。
7.根据权利要求5或6所述的方法,其特征在于,所述客户端排序是根据学习排序LTR模型得到的;以及,所述方法还包括:
根据用户对所述多个POI搜索结果中至少一个POI搜索结果的点击操作,更新所述SDK日志数据,以更新所述LTR模型。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述搜索请求还包括所述第一搜索文本;以及,
所述多个POI搜索结果中还包括除所述M个POI搜索结果以外的与所述第一搜索文本匹配的N个POI搜索结果,N为大于或等于1的整数。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述第二搜索文本是被加密的搜索文本。
10.一种信息点搜索的装置,其特征在于,包括:处理单元和收发单元,
所述处理单元用于,获取用户输入的第一搜索文本;
所述处理单元还用于,根据所述第一搜索文本和装置的第一用户数据,确定第二搜索文本,所述第一用户数据包括地址集合,所述第二搜索文本包括所述第一搜索文本和第一地址信息,所述第一地址信息表示至少一个地址,每个地址对应的信息点POI与所述第一搜索文本匹配,所述每个地址与所述地址集合中的地址相关;
所述收发单元用于,向服务端发送搜索请求,所述搜索请求包括所述第二搜索文本;
所述收发单元还用于,接收所述服务端响应于所述搜索请求发送的多个POI搜索结果,所述多个POI搜索结果包括与所述第二搜索文本匹配的M个POI搜索结果,M为大于或等于1的整数。
11.根据权利要求10所述的装置,其特征在于,所述处理单元具体用于:
根据所述第一搜索文本,从所述第一用户数据中筛选出候选POI文本集合,所述候选POI文本集合中的每个候选POI文本与所述第一搜索文本匹配且包括地址信息,所述每个候选POI文本中的地址信息所表示的地址是所述地址集合中的地址;
根据所述第一搜索文本和所述候选POI文本集合,确定所述第二搜索文本,所述第一地址信息所表示的每个地址与所述候选POI文本集合中的地址信息所表示的地址相关。
12.根据权利要求11所述的装置,其特征在于,所述候选POI集合包括多个候选POI文本;以及,所述处理单元具体用于:
根据所述每个候选POI文本对应的POI的有效时间和/或所述每个候选POI文本对应的POI的热度,从所述候选POI文本集合中筛选出最终的候选POI文本;
根据所述第一搜索文本和所述最终的候选POI文本,确定所述第二搜索文本,所述第一地址信息所表示的每个地址与所述最终的候选POI文本中的地址信息所表示的地址相关。
13.根据权利要求10至12中任一项所述的装置,其特征在于,所述处理单元还用于:
对每个POI搜索结果进行特征提取,确定所述每个POI搜索结果对应的至少一个特征值,所述每个POI搜索结果对应的至少一个特征值包括所述每个POI搜索结果对应的POI的历史点击次数,所述历史点击次数是基于所述装置的软件开发工具包SDK日志数据得到的,所述SDK日志数据记录有用户在各个APP中对POI的点击操作;
根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定推荐排序。
14.根据权利要求13所述的装置,其特征在于,所述处理单元具体用于:
根据所述每个POI搜索结果对应的至少一个特征值,对所述多个POI搜索结果进行排序,确定客户端排序;
根据所述客户端排序和服务端针对所述多个POI搜索结果进行排序得到的服务端排序,确定所述推荐排序,其中,所述推荐排序的第一个POI搜索结果是所述客户端排序的第一个POI搜索结果,所述推荐排序中除所述推荐排序的第一个POI搜索结果以外的POI搜索结果的排序是所述服务端排序中除所述推荐排序的第一个POI搜索结果以外的POI搜索结果的排序。
15.根据权利要求13或14所述的装置,其特征在于,所述每个POI搜索结果对应的至少一个特征值还包括以下至少一项:
用于表示所述第二搜索文本与所述每个POI搜索结果对应的POI的相关度的特征值,或,
所述装置当前所处的地址与所述每个POI搜索结果对应的POI的距离,或,
所述每个POI搜索结果对应的POI的类型的特征值。
16.根据权利要求14或15所述的装置,其特征在于,所述客户端排序是根据学习排序LTR模型得到的;以及,所述处理单元还用于:
根据用户对所述多个POI搜索结果中至少一个POI搜索结果的点击操作,更新所述SDK日志数据,以更新所述LTR模型。
17.根据权利要求10至16中任一项所述的装置,其特征在于,所述搜索请求还包括所述第一搜索文本;以及,
所述多个POI搜索结果中还包括除所述M个POI搜索结果以外的与所述第一搜索文本匹配的N个POI搜索结果,N为大于或等于1的整数。
18.根据权利要求10至17中任一项所述的装置,其特征在于,所述第二搜索文本是被加密的搜索文本。
19.一种信息点搜索的装置,其特征在于,包括:
存储器,用于存储计算机指令;
处理器,用于调用所述存储器中存储的计算机指令,以执行如权利要求1至9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令用于实现如权利要求1至9中任一项所述的方法。
21.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于实现如权利要求1至9中任一项所述的方法。
22.一种芯片,其特征在于,所述芯片包括:
存储器:用于存储指令;
处理器,用于从所述存储器中调用并运行所述指令,使得安装有所述芯片***的通信设备执行如权利要求1至9中任一项所述的方法。
CN202110670104.3A 2021-06-17 2021-06-17 信息点搜索的方法和装置 Pending CN115495674A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110670104.3A CN115495674A (zh) 2021-06-17 2021-06-17 信息点搜索的方法和装置
EP22824101.4A EP4354323A1 (en) 2021-06-17 2022-06-08 Method and apparatus for searching point of information
PCT/CN2022/097656 WO2022262621A1 (zh) 2021-06-17 2022-06-08 信息点搜索的方法和装置
US18/541,155 US20240111797A1 (en) 2021-06-17 2023-12-15 Method and apparatus for searching for point of information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110670104.3A CN115495674A (zh) 2021-06-17 2021-06-17 信息点搜索的方法和装置

Publications (1)

Publication Number Publication Date
CN115495674A true CN115495674A (zh) 2022-12-20

Family

ID=84464698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110670104.3A Pending CN115495674A (zh) 2021-06-17 2021-06-17 信息点搜索的方法和装置

Country Status (4)

Country Link
US (1) US20240111797A1 (zh)
EP (1) EP4354323A1 (zh)
CN (1) CN115495674A (zh)
WO (1) WO2022262621A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5222882B2 (ja) * 2010-04-16 2013-06-26 株式会社マーズフラッグ 情報提供サーバ、クライアント端末及びコンピュータプログラム
CN103942221B (zh) * 2013-01-23 2019-03-08 百度在线网络技术(北京)有限公司 检索方法及设备
CN104615688A (zh) * 2015-01-22 2015-05-13 百度在线网络技术(北京)有限公司 一种搜索方法及装置
CN107229659B (zh) * 2016-03-25 2021-06-22 华为技术有限公司 一种信息搜索方法及装置
CN107315841A (zh) * 2017-07-20 2017-11-03 北京三快在线科技有限公司 一种信息搜索方法、装置及***
CN112446514A (zh) * 2019-09-03 2021-03-05 阿里巴巴集团控股有限公司 信息预订方法、装置及电子设备

Also Published As

Publication number Publication date
US20240111797A1 (en) 2024-04-04
WO2022262621A1 (zh) 2022-12-22
EP4354323A1 (en) 2024-04-17

Similar Documents

Publication Publication Date Title
US11681654B2 (en) Context-based file selection
CN107660284B (zh) 基于机器学习的搜索改进
US10049166B2 (en) Geo-aware spellchecking and auto-suggest search engines
US9305089B2 (en) Search engine device and methods thereof
US8856167B2 (en) System and method for context based query augmentation
CN104065565B (zh) 推送消息的方法、服务器、客户端装置和***
US20140089314A1 (en) Function-presenting system, terminal device, server device, program and function-presenting method
US20150310113A1 (en) Mobile Terminal, Server, System And Method For Realizing Search
KR20080004567A (ko) 다중-모드 위치 기반 이-디렉토리 서비스를 가능하게 하는방법, 시스템 및 장치
US11556546B2 (en) People suggester using historical interactions on a device
US8635062B2 (en) Method and apparatus for context-indexed network resource sections
US20190188275A1 (en) Method, device, storage medium, terminal for serching and retrieving applications
US20100161592A1 (en) Query Intent Determination Using Social Tagging
CN105324771A (zh) 识别用户先前交互的物理位置的个人搜索结果
US20120295633A1 (en) Using user's social connection and information in web searching
JP6185379B2 (ja) レコメンド装置およびレコメンド方法
EP3090359A1 (en) Point of interest tagging from social feeds
KR101019548B1 (ko) 사용자-기반 바이어스들을 사용하여 검색 결과들을 획득 또는 제공하는 방법 및 장치
US8271517B2 (en) Presentation of websites to a computer user
CN110766489A (zh) 请求内容及提供内容的方法和相应设备
CN108536763B (zh) 一种下拉提示方法和装置
JP5450017B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
CN115495674A (zh) 信息点搜索的方法和装置
CN107463590B (zh) 自动的对话阶段发现
US20100306190A1 (en) Retrieval-Time Ranking for Community Content

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