谷歌地图是一个了不起的产品,它给人们的生活带来了很多价值。今天,我想分享我对某人如何从头开始构建这样的产品的看法。
虽然搜索确实涉及工程和数据科学,但许多公司可能低估了数据科学在搜索中的重要性。搜索不仅仅是构建技术基础设施来处理和返回给定查询的结果,还包括理解和预测用户的需求和偏好,并使用数据为个人用户定制搜索体验。
作为一名数据科学家,我发现搜索个性化和排名是一项复杂而有趣的挑战。我们通过检查来捕捉用户的兴趣:用户搜索查询、过去的搜索历史和点击数据。
本通讯将回答您关于以下方面的所有问题:
免责声明:在其他平台上重新发布此策略之前请先私信,因为它完全是我原创的,没有被复制。我不认可任何品牌;分享的例子仅供学习。任何人都可以使用这个概念从头开始创建自己的地图。
如果有人想咨询我,请联系这里
我们正在寻找什么:我住在古尔冈,正在寻找“巴黎埃菲尔铁塔”
让我们开始在地图上输入“EI”并进行分析。我们从查询中得到了下面列出的前 5 个结果。
图 1 搜索分析
为什么只有五个结果?搜索是关于排名和相关性的。该算法的目的是以最小的查询长度获得用户想要的结果。另一方面,算法的更多上下文比滚动查询“ei”返回的一长串结果更可取。
出现此结果的原因:此处触发了人气和上下文信号。谷歌地图识别出我的位置并显示前五个最受欢迎的位置,这些位置被之前输入过“ei”的人访问过或点击过。所有结果都在我的位置附近(见图 1)。查询“eif”将埃菲尔铁塔排在第三位,因为它的受欢迎程度更高。 (见图2)
我们有什么?
使用 Haversine 公式,计算用户纬度/经度与城市或邮政编码内其他位置之间的距离。 (见图3)
在 GMaps 级别,有数十亿实体和数百万用户,这种方法不可扩展。
附言。你们中的一些人可能会问这是否可以在 Elastic Search 中完成。查看地理排序
为了使搜索更具上下文或个性化,您可以考虑使用基于数据的方法,这些方法考虑了用户的特定需求或偏好。例如,如果 Wolf 先生正在搜索餐馆,并且在短时间内或同一会话中进行了多次与餐馆相关的查询,您可以优先向他展示针对他的位置进行个性化设置的结果,同时考虑他过去的搜索历史记录。这可能涉及在搜索结果中将他附近的餐馆排名靠前,并向他展示根据他的口味或偏好或他之前对不同地点的访问情况量身定制的选项。
通过使用基于数据的方法,您可以为 Mr. Wolf 提供更相关和更有针对性的搜索结果,而不是简单地依赖流行或基于距离的标准。
没有数据科学模型可以通过缓存算法击败良好呈现的历史数据(见图 6)的简单性:LFU(最不常用)或 LFU with Dynamic Aging(查看下面的链接以获得详细的 LFU with Dynamic Aging 解释)。
在此处查看我的博客: https ://shauryauppal.medium.com/thinking-data-strategies-in-fintech-universe-building-payments-recommendation-system-for-google-95c746e3dd0e
1. 我们讨论了为什么搜索结果列表中显示 5 个结果
2. 人气+距离评分结果排名
3. Elastic Search 中的地理排序
4. 基于历史查询类别的搜索个性化
5. 如何将实体识别为热门地点?
6. 基于缓存过去的搜索查询和访问过的地方的推荐
谢谢大家给我这个奖项
我正在寻找一个有趣的领导/高级数据科学家角色:如果你有什么想要的,让我们联系[email protected]