outline
近段時(shí)間在研究搜索的相關(guān)技術(shù),在工作中主要涉及到資訊搜索功能的實(shí)現(xiàn)瘫絮。我們采用了elasticsearch搜索引擎,之前整理了兩篇關(guān)于elasticsearch的文章:es基礎(chǔ)和es進(jìn)階1填硕。由于需要對(duì)搜索功能進(jìn)行迭代麦萤,所以筆者繼續(xù)深入研究搜索原理和性能優(yōu)化。本文主要研究以下幾點(diǎn):
- 什么是搜索
- 搜索評(píng)價(jià)指標(biāo)
- 意圖識(shí)別
- query改寫
什么是搜索
一個(gè)搜索引擎的技術(shù)構(gòu)建主要包含三大部分:
(1) 對(duì)query的理解
(2) 對(duì)內(nèi)容(文檔)的理解
(3) 對(duì)query和內(nèi)容(文檔)的匹配和排序
搜索的一般評(píng)價(jià)指標(biāo)
基礎(chǔ)指標(biāo):
召回率(Recall)=檢出的相關(guān)文檔數(shù)/相關(guān)文檔數(shù)扁眯,也稱為查全率壮莹,R∈[0,1]
準(zhǔn)確率(Precision)=檢出的相關(guān)文檔數(shù)/檢出文檔數(shù),也稱為查準(zhǔn)率姻檀,P∈[0,1]
F值:召回率R和正確率P的調(diào)和平均值
搜索發(fā)展的階段:
- 應(yīng)用的初期:基于關(guān)鍵字的搜索
- 應(yīng)用的發(fā)展期:基于主副標(biāo)題的全文檢索
- 應(yīng)用的成熟期:針對(duì)搜索進(jìn)行排名優(yōu)化
LTR - 應(yīng)用的進(jìn)化期:個(gè)性化的搜索
意圖識(shí)別/“千人千面”/搜索建議等
意圖識(shí)別
是什么
通過分類的辦法將句子或者我們常說的query分到相應(yīng)的意圖種類
屬于“對(duì)query的理解”部分
本質(zhì)上是一個(gè)分類問題
意圖識(shí)別搜索的一般過程:
S1. 用戶的原始 query 是 “michal jrdan”
S2. Query Correction 模塊進(jìn)行拼寫糾錯(cuò)后的結(jié)果為:“Michael Jordan”
S3. Query Suggestion 模塊進(jìn)行下拉提示的結(jié)果為:“Michael Jordan berkley”和 “Michael Jordan NBA”命满,假設(shè)用戶選擇了“Michael Jordan berkley”
S4. Query Expansion 模型進(jìn)行查詢擴(kuò)展后的結(jié)果為:“Michael Jordan berkley”和 “Michael I. Jordan berkley”
S5. Query Classification 模塊進(jìn)行查詢分類的結(jié)果為:academic
S6. 最后語義標(biāo)簽(Semantic Tagging)模塊進(jìn)行命名實(shí)體識(shí)別、屬性識(shí)別后的結(jié)果為:[Michael Jordan: 人名][berkley:location]:academic
意圖識(shí)別的前提
意圖的劃分問題:技能/領(lǐng)域
用戶查詢的需求分類:
(1) 導(dǎo)航類
(2) 信息類
(3) 事務(wù)類
概念介紹:
用戶與搜索引擎的一輪完整交互過程稱為一個(gè)Search Session绣版,在Session里提供的信息包括:用戶查詢?cè)~(Query)胶台,用戶所點(diǎn)擊的搜索結(jié)果的標(biāo)題(Title),如果用戶在Session期間變換了查詢?cè)~(例如從Query1 -->Query2)杂抽,則后續(xù)的搜索和點(diǎn)擊均會(huì)被記錄诈唬,直到用戶脫離本次搜索,則Session結(jié)束缩麸。
意圖識(shí)別的方法
1.詞表窮舉法/規(guī)則解析法
2.基于查詢點(diǎn)擊日志 -- 一般一條搜索日志記錄會(huì)包括時(shí)間-查詢串-點(diǎn)擊URL記錄-在結(jié)果中的位置等信息铸磅。
3.機(jī)器學(xué)習(xí)方法(基于規(guī)則挖掘,基于Bayes匙睹、LR愚屁、SVM等傳統(tǒng)分類模型)--分類問題
query的分類
eg:識(shí)別每個(gè)實(shí)體詞的屬性,去索引里面精確匹配對(duì)應(yīng)的字段痕檬,從而提高召回的準(zhǔn)確率
4.基于神經(jīng)網(wǎng)絡(luò)(深度學(xué)習(xí))--FastText
意圖識(shí)別的難點(diǎn)
1霎槐、輸入不規(guī)范,前文中已有介紹梦谜,不同的用戶對(duì)同一訴求的表達(dá)是存在差異性的丘跌。
2袭景、多意圖,查詢?cè)~為:”水”闭树,是礦泉水耸棒,還是女生用的化妝水。
3报辱、數(shù)據(jù)冷啟動(dòng)与殃。當(dāng)用戶行為數(shù)據(jù)較少時(shí),很難獲取準(zhǔn)確的意圖碍现。
4幅疼、沒有固定的評(píng)價(jià)標(biāo)準(zhǔn)。pv,ipv,ctr,cvr這種可以量化的指標(biāo)是對(duì)搜索系統(tǒng)總體的評(píng)價(jià)昼接,具體到用戶意圖的預(yù)測(cè)上并沒有標(biāo)準(zhǔn)的量化指標(biāo)爽篷。
query改寫
query改寫,類目相關(guān)慢睡,命名實(shí)體識(shí)別和
query改寫包括:
query糾錯(cuò) -- 如果搜索引擎返回的是空結(jié)果/或者結(jié)果過少逐工,此時(shí)應(yīng)該需要增加拼寫糾錯(cuò)的處理
query擴(kuò)展:
eg. “Michael Jordan berkley”和 “Michael I. Jordan berkley”
(1) 同義詞擴(kuò)展表
(2) 使用詞向量進(jìn)行同義詞拓展
(3) 如果query沒有相應(yīng)返回,則根據(jù)用戶歷史數(shù)據(jù)拓展原query
query刪除 -- 判斷丟棄哪個(gè)/些詞 (實(shí)體識(shí)別)
參考資料
搜索意圖識(shí)別淺析
信息檢索中的各項(xiàng)評(píng)價(jià)指標(biāo)
如何使用padlepadle 進(jìn)行意圖識(shí)別-開篇
Turn Chinese natural language into structured data 中文自然語言理解