地图检索 – 与众不同
前言:
半年前,和師弟在一起吃飯時,他忽然抬頭,很好奇地問我:“為什么有了百度的大檢索,百度地圖還要自己做檢索呢?”這個問題也一直伴隨著我,后來有幸轉入檢索方向,不斷摸索,也才有了這篇文章。
正文:
地圖檢索,顧名思義,是在地圖里的檢索。它與大檢索大同小異,雖然在切詞粒度、專名識別、拉鏈歸并和rank等很多細節上與大檢索有一定差異,然而真正讓他與眾不同、獨具風采的,是地圖領域所特有的空間位置信息。
在地圖檢索領域中,每條query都富含空間信息,每條數據也都有自己的空間位置。如何解析、利用這些空間信息,就成為了地圖檢索的特色主線。本文也就這個主題進行介紹,在章節安排上,參考一個普通query的檢索過程,分為三大部分:query解析、查詢與歸并、rank。
?
1. query解析中的位置信息
傳統檢索的query解析,主要功能是對query進行類型識別、分詞、同義等處理,以便后續查詢與rank。地圖檢索里的query解析,不僅包含了傳統解析的功能,而且要從用戶的query里去挖掘空間位置信息。
為什么要這么做呢?舉幾個簡單的例子:
例1:北京和上海都存在數據點“第一上海中心”,那么身在北京的用戶A和身在上海的用戶B,同時檢索“第一上海中心”,結果是否需要有所不同呢?
例2:用戶在地圖中輸入query“中關村肯德基”,我們沒有叫“中關村肯德基”的數據點,但卻有許多位置在中關村附近的肯德基點,那么我們如何召回呢?
這兩個例子形象地描述了用戶發起檢索所包含的兩種空間位置信息,以及我們為什么要去挖掘這些空間信息。
首先,例1對應的是一次檢索中所隱含的位置傾向信息。用戶所在的城市(可用ip地址近似模擬或者無線設備定位)、用戶輸入query時的上下文場景(主要是底圖所在城市)是兩種比較直觀的位置傾向信息;我們需要利用這兩種數據來大致判定結果的位置傾向,以便提供更優秀的檢索結果。相對來講,這是一種粗粒度的位置信息。
其次,例2對應的是query的子term中所明確包含的位置信息。地圖query的特點在于,某些term是表示檢索范圍的(空間位置),某些term是表示文本實體的;“中關村肯德基”中,“中關村”表示檢索范圍,“肯德基”表示實體,這個query可以理解為用戶想檢索“在中關村附近的肯德基”,也就是在“中關村”附近檢索“肯德基”。相對來講,這是一種細粒度的位置信息。
總而言之,地圖的query解析需要去挖掘query中的隱含或明確的位置信息,從而真正理解用戶的需求。
2. 查詢與歸并中的位置信息
經過query解析之后,query中的term被分為兩種,一種表示空間,一種表示文本,如何利用這些term的屬性,來召回最合適的數據,就成為另外一個問題。
讓我們來看看地圖檢索的查詢歸并與傳統檢索的不同:
?
圖1. 普通檢索與地圖檢索的查詢歸并對比
如圖1所示,普通檢索的查詢歸并結果,是“中關村”和“肯德基”文本查詢集合的交集;而地圖檢索的查詢歸并結果,除了兩者的文本交集之外,還包括“肯德基”的文本查詢集合與“中關村”的空間范圍的交集,而往往后者召回的比前者要多。
也就是說,我們不僅要召回傳統文本上的歸并結果,也要從空間維度上去做歸并,從而得到更多、更準確的召回。
3. rank中的位置信息
與傳統檢索展示文本列表不同,地圖結果以圖區加icon的形式,將結果非常形象地展現在底圖上,而這也給地圖檢索的rank提出了新的需求:我們不能停留在文本相關度這一單一維度上,而是要給用戶呈現準確而舒適的結果。
那么這個舒適體現在什么地方呢?這里也舉兩個例子給大家看一下:
?
?
圖2.a ? ? ? ? ? ? ? ? ? ? 圖2.b???????????????????? 圖2.c???????????????????????????????????????????????????????????????????????
北京市下檢索“清華大學”,如果在海淀區和朝陽區都有清華大學相關的數據,那么可以有三種結果展現形式,如圖2.a – 2.c所示。圖2.a是普通的未經空間調權的rank結果,圖區拉得很大,右下角的結果對90%以上的用戶都是噪聲,顯示效果不夠友好;圖2.b則是經過空間調權后的rank結果,視野集中在“清華大學”主點附近,效果要優于圖2.a,但是這同樣給出了一大堆相關結果列表,也會干擾用戶;圖2.c則是經過空間內聚形成的結果,精確命中“清華大學”主點,圖區大小合適,顯示效果最好。
這個例子展示了如何利用結果的位置信息來提升體驗,下面再給大家介紹一下用戶的位置信息的利用:
?
?
圖3.a????
?
? 圖3.b
當用戶檢索生活類泛需求詞時,那么用戶所在位置信息就顯得至關重要。如圖3所示,用戶如果在百度大廈用移動設備檢索“餐館”,圖3.a是未經空間距離調權的結果,顯得比較雜亂;圖3.b則是以用戶所在地為中心點,進行距離調權后的結果,則顯得更緊湊,優先級更直觀。
由此可見,地圖檢索的rank僅僅考慮文本相關性是不夠的,還需要考慮空間位置信息,包括query和檢索結果的位置信息,也包括用戶的位置信息。只有充分運用好這些位置信息,才能給用戶更準確、更舒適的結果。
介紹到這里,相信大家已經對地圖檢索里的空間信息有了直觀的認識。事物總有正反兩面,空間位置信息的引入雖然使得地圖檢索充滿魅力,但也成為了地圖檢索的重點與難點。如何有效地利用這些信息,使其與傳統的文本相關性、實體重要性等因素相互作用、形成合力,是一個需要我們不斷去征服的高峰。
by ?liyang
?
【本文首發于:搜索研發部官方博客】http://stblog.baidu-tech.com/?p=1136 【關注百度技術沙龍】?
本文轉自百度技術51CTO博客,原文鏈接:http://blog.51cto.com/baidutech/743017,如需轉載請自行聯系原作者
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的地图检索 – 与众不同的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nRF5 SDK for Mesh(一)
- 下一篇: 人生三部曲:顺序,选择,循环