seq搜索引擎優(yōu)化至少包括那幾步?(應用query分析的幾種方法和方法的區別?)
優(yōu)采云 發(fā)布時(shí)間: 2022-04-20 09:42seq搜索引擎優(yōu)化至少包括那幾步?(應用query分析的幾種方法和方法的區別?)
一、背景
地圖App的功能可以簡(jiǎn)單概括為定位、搜索、導航三個(gè)部分,解決了去哪里、去哪里、怎么去的問(wèn)題。在高德地圖的搜索場(chǎng)景中,輸入為地理相關(guān)的搜索查詢(xún)、用戶(hù)位置、App表面等信息,輸出為用戶(hù)想要的POI。如何更準確地找到用戶(hù)想要的興趣點(diǎn)并提高滿(mǎn)意度是評估搜索結果的最關(guān)鍵指標。
一個(gè)搜索引擎通??梢苑譃槿齻€(gè)部分:查詢(xún)分析、召回和排序。查詢(xún)分析主要是嘗試理解查詢(xún)表達式的含義,為召回和排序提供指導。
地圖搜索的查詢(xún)分析不僅包括通用搜索下的分詞、成分分析、同義詞、糾錯等通用NLP技術(shù),還包括城市分析、wherewhat分析、路徑規劃分析。
一些常見(jiàn)地圖場(chǎng)景中的查詢(xún)意圖表達如下:
查詢(xún)分析是搜索引擎中的策略密集型場(chǎng)景,通常在 NLP 領(lǐng)域應用各種技術(shù)。地圖場(chǎng)景中的查詢(xún)分析只需要處理地理相關(guān)的文本,多樣性不如網(wǎng)頁(yè)搜索,看起來(lái)更簡(jiǎn)單。但是,地理文本通常比較短,大多數用戶(hù)的需求只是少量的結果,對準確性的要求非常高。如何在地圖場(chǎng)景下進(jìn)行文本分析,提高搜索結果的質(zhì)量,充滿(mǎn)挑戰。
二、整體技術(shù)框架
搜索架構
與一般的檢索架構類(lèi)似,地圖的檢索架構包括三個(gè)主要部分:查詢(xún)分析、召回和排序。先驗地,用戶(hù)的輸入信息可以理解為各種意圖的表達,同時(shí)發(fā)出請求,試圖獲取檢索結果。后驗,當得到每個(gè)意圖的檢索結果時(shí),綜合判斷,選出效果最好的。
查詢(xún)分析過(guò)程
具體的意圖理解可以分為基礎查詢(xún)分析和應用查詢(xún)分析兩部分?;A查詢(xún)分析主要使用一些通用的NLP技術(shù)來(lái)理解查詢(xún),包括分析、成分分析、遺漏、同義詞、糾錯等。查詢(xún)分析的應用主要針對地圖場(chǎng)景中的具體問(wèn)題,包括分析用戶(hù)的目標城市,是否表達where+what,是否表達從A到B的路徑規劃需求等
整體技術(shù)演進(jìn)
文本處理領(lǐng)域的整體技術(shù)演進(jìn)經(jīng)歷了一個(gè)以規則為基礎、逐步引入機器學(xué)習、全面應用機器學(xué)習的過(guò)程。由于搜索模塊是高并發(fā)在線(xiàn)服務(wù),因此引入深度模型的條件相對苛刻。但隨著(zhù)性能問(wèn)題的逐步解決,我們逐漸從各個(gè)子方向引入深度學(xué)習技術(shù),開(kāi)展新一輪的效果。推廣。
NLP技術(shù)近年來(lái)取得了快速發(fā)展。諸如bert、XLNet等模型相繼霸榜。我們逐步統一每個(gè)查詢(xún)分析子任務(wù),使用統一的向量表示來(lái)表達用戶(hù)需求,同時(shí)執行 seq2seq。在進(jìn)一步提升多任務(wù)學(xué)習效果的基礎上,還能保證系統不會(huì )過(guò)于臃腫。
本文介紹了高德地圖搜索地理文本處理這幾年相關(guān)技術(shù)的演進(jìn)。我們將選取一些要點(diǎn),分兩部分介紹。最后一部分主要介紹了搜索引擎中一些常見(jiàn)的查詢(xún)分析技術(shù),包括糾錯、改寫(xiě)和遺漏。下一部分重點(diǎn)介紹地圖場(chǎng)景中獨有的查詢(xún)分析技術(shù),包括城市分析、wherewhat分析、路徑規劃等。
三、通用查詢(xún)分析技術(shù)演進(jìn)
3.1 更正
在搜索引擎中,用戶(hù)輸入的搜索詞(查詢(xún))經(jīng)常拼寫(xiě)錯誤。如果直接檢索錯誤的查詢(xún),將無(wú)法得到用戶(hù)想要的結果。因此,無(wú)論是通用搜索引擎還是垂直搜索引擎,都會(huì )對用戶(hù)的查詢(xún)進(jìn)行修正,最大概率獲得用戶(hù)想要搜索的查詢(xún)。
在目前的地圖搜索中,大約有6%-10%的用戶(hù)請求會(huì )出現輸入錯誤,因此查詢(xún)糾錯是地圖搜索中非常重要的一個(gè)模塊,可以大大提升用戶(hù)的搜索體驗。
在搜索引擎中,低頻和中長(cháng)尾問(wèn)題往往難以解決,也是糾錯模塊面臨的主要問(wèn)題。另外,地圖搜索和一般搜索有明顯的區別。地圖搜索查詢(xún)更加結構化,查詢(xún)中的片段往往收錄一定的位置信息。如何利用好查詢(xún)中的結構化信息,更好地識別用戶(hù)意圖,是地圖糾錯的獨特挑戰。
(1)拼音相同或相似,例如:盤(pán)橋物流園-盤(pán)橋物流園
(2)字體類(lèi)似,例如:河北茂里-河北昌黎
(3)多個(gè)字符或缺少字符,例如:泉州周定界-泉州定界
原糾錯模塊包括多種召回方法,如:
拼音糾錯:主要解決短查詢(xún)的拼音糾錯問(wèn)題。拼音完全一樣或模糊的聲音被用作糾錯候選。
拼寫(xiě)糾錯:又稱(chēng)形近字糾錯。通過(guò)遍歷和替換 shape 和 near 詞,使用查詢(xún)熱度過(guò)濾,添加候選詞。
組合糾錯:通過(guò)翻譯模型進(jìn)行糾錯和替換,資源主要是通過(guò)查詢(xún)對齊挖掘出來(lái)的各種替換資源。
組合糾錯翻譯模型計算公式:
其中 p(f) 是語(yǔ)言模型,p(f|e) 是替換模型。
問(wèn)題1:召回方法有缺陷。目前查詢(xún)糾錯模塊主要的召回策略包括拼音召回、字形召回和替換資源召回。對于低頻情況,求解能力有限。
問(wèn)題2:排序方式不合理。糾錯按照召回方式分成幾個(gè)獨立的模塊,分別完成相應的召回和排序,不合理。
改造一:基于空間關(guān)系的實(shí)體糾錯
原來(lái)的糾錯主要是基于用戶(hù)會(huì )話(huà)挖掘段來(lái)替換資源,所以解決低頻問(wèn)題的能力有限。但長(cháng)尾問(wèn)題往往集中在低頻,所以低頻問(wèn)題是當前的痛點(diǎn)。
地圖搜索與一般搜索引擎的一個(gè)很大區別是地圖搜索查詢(xún)更加結構化,例如北京市朝陽(yáng)區芙蓉街10號首凱廣場(chǎng)。我們可以對查詢(xún)(即地圖中的成分分析的工作)進(jìn)行結構分割,以獲得這樣一個(gè)帶有類(lèi)別的結構化描述。北京【市】朝陽(yáng)區【區縣】芙蓉街【路】10號【門(mén)地址后綴】首開(kāi)廣場(chǎng)【一般實(shí)體】。
同時(shí)我們擁有權威地理知識數據,利用權威地理實(shí)體數據庫構建前綴樹(shù)+后綴樹(shù)索引庫,提取疑似糾錯部分在索引庫中進(jìn)行拉鏈召回,并使用實(shí)體數據庫的邏輯隸屬關(guān)系,過(guò)濾糾錯結果。實(shí)踐表明,該方法對低頻分區或實(shí)體錯誤有明顯效果。
基于部首的字形相似度計算
在上面提到的排序策略中,字形的編輯距離作為排序的一個(gè)重要特征。這里我們開(kāi)發(fā)了一種基于根的字形相似度計算策略,對于編輯距離的計算更加精細和準確。漢字信息包括漢字的根分詞表和漢字的筆劃數。
將一個(gè)漢字拆分成多個(gè)部首,找出兩個(gè)漢字的共同部首,根據共同部首的筆畫(huà)數計算相連字的相似度。
型號選擇
對于這個(gè)排序問(wèn)題,這里我們參考業(yè)界的做法,使用pair-wise-based gbrank進(jìn)行模型訓練。
示例構造
通過(guò)在線(xiàn)輸出結合人工審核構建樣本。
特征構建
(1) 語(yǔ)義特征。如統計語(yǔ)言模型。
(2)熱門(mén)功能。pv、點(diǎn)擊等
(3)基本特征。編輯距離、分詞和作文特征、累積分布特征等。
這樣解決了糾錯模塊的兩個(gè)痛點(diǎn),一是地圖場(chǎng)景中的大部分低頻糾錯問(wèn)題。二是重構模塊流程,將召回與排序解耦,充分發(fā)揮各個(gè)召回環(huán)節的作用。召回方法更新后,只需要重新訓練排序模型,使模塊更加合理,為后續的深度模型升級打下基礎。良好的基礎。后來(lái)在這個(gè)框架下,我們通過(guò)深度模型對seq2seq進(jìn)行糾錯和召回,取得了進(jìn)一步的收益。
3.2 重寫(xiě)
作為查詢(xún)轉換方式的糾錯召回策略有很多局限性。對于一些非典型的查詢(xún)轉換表達式,策略上存在差距。例如query=永城市新農村合作辦,目標POI為永城市新農村合作服務(wù)大廳。用戶(hù)的低頻查詢(xún)往往得不到很好的搜索效果,但其實(shí)用戶(hù)描述的語(yǔ)義與主poi的高頻查詢(xún)類(lèi)似。
這里我們提出了查詢(xún)重寫(xiě)的思路,可以將低頻查詢(xún)重寫(xiě)為語(yǔ)義相近的高頻查詢(xún),更好地滿(mǎn)足用戶(hù)需求的表達。
這是一個(gè)從頭開(kāi)始的實(shí)現。用戶(hù)表達的查詢(xún)多種多樣,顯然用規則來(lái)表達是取之不盡的。直觀(guān)的想法是通過(guò)向量進(jìn)行召回,但是向量召回的方式很可能過(guò)于籠統,不適合地圖場(chǎng)景的檢索。這些都是在實(shí)踐過(guò)程中需要考慮的問(wèn)題。
程序
整個(gè)方案包括三個(gè)階段:召回、排序和過(guò)濾。
我們研究了幾種句子向量表示的方法,選擇了SIF(Smooth Inverse Frequency),算法簡(jiǎn)單,效果和性能可與CNN和RNN媲美。向量召回可以使用開(kāi)源的Faiss向量搜索引擎,這里我們使用性能更好的阿里內部的向量搜索引擎。
原創(chuàng )查詢(xún)和高頻查詢(xún)候選集,計算語(yǔ)義相似度,選取語(yǔ)義相似度的TOPK,人工標注訓練樣本。
特征構建
1.基本文字特征
2.編輯距離
3.組合功能
型號選擇
使用 xgboost 進(jìn)行分數回歸
過(guò)濾階段
通過(guò)向量召回對查詢(xún)的過(guò)度泛化非常嚴重。為了能夠在地圖場(chǎng)景中應用它,添加了對齊模型。使用了兩種統計對齊模型,giza 和 fastalign。實(shí)驗表明兩者的效果差不多,但是fastalign在性能上比giza好,所以選擇了fastalign。
召回結果通過(guò)對齊概率和未對齊概率進(jìn)一步過(guò)濾,得到精度相對較高的結果。
查詢(xún)重寫(xiě)填補了原查詢(xún)分析模塊中一些低頻表達式無(wú)法滿(mǎn)足的空白。與同義詞或糾錯的顯式查詢(xún)變換表達不同,句子的向量表示是相似查詢(xún)的隱式表達。相應的優(yōu)勢。
向量表示和召回也是逐步應用深度學(xué)習模型的嘗試。同義詞、重寫(xiě)和糾錯是地圖中查詢(xún)轉換的三種主要方式。過(guò)去,他們在地圖模塊中相對分散,各司其職,會(huì )有重疊的部分。在后續的迭代升級中,我們引入了統一的查詢(xún)轉換模型進(jìn)行轉換。在取得收益的同時(shí),我們也擺脫了過(guò)去很多規則和模型耦合帶來(lái)的歷史包袱。
3.省略2個(gè)
在地圖搜索場(chǎng)景中,有很多查詢(xún)收錄無(wú)效詞。如果您嘗試調用所有查詢(xún),則可能無(wú)法調用有效結果。例如,廈門(mén)市搜索“仙侯brt站湖里區仙侯高科技園區新捷創(chuàng )運營(yíng)中心11樓1101室”。這需要檢索意圖。在沒(méi)有明顯轉義的情況下,核心詞用于召回目標poi候選集,可以在搜索結果無(wú)果或召回率較差時(shí)補充召回。
在省略判斷的過(guò)程中存在先驗和后驗平衡問(wèn)題。省略意圖是先驗判斷,但預期結果是能夠有效召回POI,這與POI召回領(lǐng)域的狀態(tài)密切相關(guān)。如何在策略設計的過(guò)程中保持先驗的一致性,同時(shí)在后驗POI中獲得較好的結果,是省略模塊的難點(diǎn)。
原來(lái)的elision模塊主要是基于規則的,而規則依賴(lài)的主要特征是上游組件分析特征。由于基于規則的擬合,模型效果的優(yōu)化空間很大。此外,由于對成分分析的依賴(lài)性強,模型的魯棒性較差。
技術(shù)改造
省略模塊的改造主要完成了規則到crf模型的升級,同時(shí)也離線(xiàn)應用深度學(xué)習模型輔助生成樣本。
識別查詢(xún)的哪些部分是核心,哪些部分可以省略是一個(gè)序列標注問(wèn)題。在淺層模型的選擇上,很明顯我們使用的是crf模型。
特征構建
術(shù)語(yǔ)特征。使用加權特征、詞性、先驗字典特征等。
成分特征。仍在使用組件分析中的功能。
統計特征。統計段的左右邊界熵、城市分布熵等,通過(guò)binning離散化。
示例構造
在項目的第一階段,我們采用在線(xiàn)策略粗打和外包精打的方法,構建了10000級樣本進(jìn)行crf模型訓練。
但是,省略查詢(xún)的多樣性非常高,使用10000個(gè)級別的樣本是不夠的。在在線(xiàn)模型不能快速應用深度模型的情況下,我們使用boostraping方法來(lái)利用深度模型的泛化能力。線(xiàn)下搭建 大量樣本。
使用這種方法,樣本可以很容易地從幾萬(wàn)擴大到幾百萬(wàn),我們仍然使用crf模型進(jìn)行訓練和在線(xiàn)應用。
在省略模塊的過(guò)程中,我們完成了從規則到機器學(xué)習的升級,并引入了組件以外的特性來(lái)提高模型的魯棒性。同時(shí),利用離線(xiàn)深度學(xué)習進(jìn)行樣本構建的循環(huán),提高了樣本的多樣性,使模型更接近c(diǎn)rf的天花板。
在深度模型的后續建模中,我們逐漸擺脫了對成分分析特征的依賴(lài),直接將query建模到hit poi core,構建了大量樣本,取得了進(jìn)一步的收益。









