搜索NLP行业模型和轻量化客户定制
簡(jiǎn)介:開(kāi)放搜索NLP行業(yè)模型和輕量化客戶定制方案,解決減少客戶標(biāo)注成本、完全無(wú)標(biāo)注或少量簡(jiǎn)單標(biāo)注的等問(wèn)題,讓搜索領(lǐng)域擴(kuò)展更易用。
特邀嘉賓:
徐光偉(昆卡)--阿里巴巴算法專家
搜索NLP算法
搜索鏈路
這是一個(gè)完整的從查詢?cè)~到搜索結(jié)果的鏈路, 其中NLP算法發(fā)揮作用的地方主要在第二階段的查詢分析,該階段包含多個(gè)NLP 算法模塊,如文本側(cè)的分詞、糾錯(cuò)、實(shí)體識(shí)別、詞權(quán)重、同義詞以及語(yǔ)義向量等。系統(tǒng)是結(jié)合文本和語(yǔ)義向量多路召回排序的架構(gòu),從而滿足不同業(yè)務(wù)場(chǎng)景的搜索效果需求。當(dāng)然除了查詢分析,在第一階段的搜索引導(dǎo)以及第四階段的排序服務(wù)中也有很多NLP 算法的應(yīng)用。
查詢分析
NLP 算法主要在這里的幾個(gè)子模塊發(fā)揮作用:
- 分詞,精準(zhǔn)的分詞可以提高檢索效率,也會(huì)讓召回結(jié)果更加精準(zhǔn),
- 拼寫糾錯(cuò),對(duì)用戶輸入的query中出現(xiàn)拼拼寫錯(cuò)誤可以自動(dòng)去糾錯(cuò),提高搜索的體驗(yàn)。
- 實(shí)體識(shí)別,可以對(duì)query 中的每個(gè)詞打上對(duì)應(yīng)的實(shí)體標(biāo)簽,從而為后續(xù)的query改寫和排序提供關(guān)鍵的特征。
- 詞權(quán)重模型,會(huì)對(duì)每個(gè)詞打上高、中、低的檔位,在查詢結(jié)果時(shí)去做丟詞的重查。
- 同義詞,擴(kuò)展出相同意思的詞來(lái)擴(kuò)大召回范圍。
- 最后是經(jīng)過(guò)完整的查詢分析模塊之后的一個(gè)整體的query改寫,將用戶輸入的query轉(zhuǎn)換成我們搜索引擎能識(shí)別到的查詢串。
現(xiàn)在開(kāi)放搜索不僅支持了阿里自研的搜索引擎,也對(duì)開(kāi)源的ES引擎做了兼容,可以讓用戶更方便的使用到我們的算法能力。
行業(yè)模型
客戶痛點(diǎn)
1.通用模型領(lǐng)域適配難
- 通用模型主要解決新聞資訊行業(yè)問(wèn)題;
- 在具體行業(yè)上效果會(huì)大打折扣;
例如:通用領(lǐng)域和電商領(lǐng)域的模型的區(qū)別
2.公開(kāi)行業(yè)模型少
- 云服務(wù)產(chǎn)商基本只提供通用模型
- 公開(kāi)行業(yè)數(shù)據(jù)集也主要覆蓋通用領(lǐng)域
解決難度
構(gòu)建一個(gè)行業(yè)搜索NLP 模型的流程:
分詞標(biāo)注難點(diǎn)
1.領(lǐng)域知識(shí)要求高
例如:
- 藥物的名稱:利多卡因氯己定氣霧劑 | 利多卡因 氯己定 氣霧劑
- 地址:南召縣四棵樹(shù)鄉(xiāng)王營(yíng)村 | 南召 縣 四棵樹(shù) 鄉(xiāng) 王營(yíng) 村
2.交叉歧義判斷難
例如:
- 洗衣服粉 | 洗衣 ?服 ?粉
實(shí)體識(shí)別標(biāo)注難點(diǎn)
1.領(lǐng)域知識(shí)要求高
例如:
- 澳洲愛(ài)他美(母嬰品牌)金裝一段、科比(球鞋系列)4
- pytorch實(shí)現(xiàn)GAN(算法模型)
解決方法
開(kāi)放搜索基于阿里巴巴內(nèi)部搜索的數(shù)據(jù)積累,結(jié)合自動(dòng)化數(shù)據(jù)挖掘和自研的算法模型,對(duì)行業(yè)模型的構(gòu)建鏈路做了一個(gè)改造。
同樣是以分詞和NER為例,下面模型圖是分詞的流程。我們首先通過(guò)自動(dòng)的新詞發(fā)現(xiàn)算法去挖掘目標(biāo)領(lǐng)域的領(lǐng)域新詞,得到這些新詞之后,我們會(huì)在目標(biāo)領(lǐng)域上去構(gòu)建一個(gè)遠(yuǎn)程監(jiān)督的訓(xùn)練數(shù)據(jù)。
基于這樣的遠(yuǎn)程監(jiān)督訓(xùn)練數(shù)據(jù),我們提出了一個(gè)對(duì)抗學(xué)習(xí)網(wǎng)絡(luò)的結(jié)構(gòu)模型,結(jié)構(gòu)可以達(dá)到降噪的效果,從而去年得到一個(gè)我們目標(biāo)領(lǐng)域的領(lǐng)域模型。
下面的模型圖是NER的流程,我們采用了結(jié)合圖神經(jīng)網(wǎng)絡(luò)的graph NER的模型結(jié)構(gòu),它可以融合知識(shí)庫(kù)和標(biāo)注數(shù)據(jù)。 知識(shí)庫(kù)是由剛才分詞的鏈路中新詞發(fā)現(xiàn)模塊自動(dòng)挖掘出的新詞,然后我們做一個(gè)自動(dòng)的實(shí)體詞打標(biāo),從而去構(gòu)建出領(lǐng)域的知識(shí)庫(kù)。對(duì)應(yīng)的技術(shù)論文我們都已經(jīng)發(fā)表在NLP 領(lǐng)域頂會(huì)ACL上。
小結(jié)一下,通過(guò)上面提到的技術(shù)方案,以電商行業(yè)為例,看一下開(kāi)放搜索行業(yè)模型上達(dá)到的效果。
可以看到開(kāi)放搜索的電商行業(yè)增強(qiáng)版都明顯比通用版效果會(huì)好很多。
這套方案不僅僅適用于電商行業(yè),只要是有數(shù)據(jù)積累的行業(yè),都可以快速構(gòu)建出一套行業(yè)模型。
開(kāi)放搜索輕量化客戶定制
客戶痛點(diǎn)
首先可以看到通用模型直接使用大概能達(dá)到一個(gè)60分的效果。
剛剛提到的行業(yè)模型,適用能力可以達(dá)到80分的效果。
但具體到每個(gè)客戶又存在細(xì)分領(lǐng)域的定制問(wèn)題。 一般客戶的目標(biāo)可能是要達(dá)到90分。
比如下面的兩個(gè)例子:
我們的目標(biāo)是減少客戶的標(biāo)注成本,完全無(wú)標(biāo)注或者少量簡(jiǎn)單的標(biāo)注,讓客戶的定制會(huì)更加易用,從而直接達(dá)到一個(gè)85分的效果。
解決思路
整體的流程和行業(yè)模型構(gòu)建鏈路類似,要把這些能力產(chǎn)品工具化讓客戶可以自主參與調(diào)優(yōu)。
1.新建訓(xùn)練模型
下圖是我們做的一個(gè)工具demo,上面是創(chuàng)模型,創(chuàng)建部分客戶可以選擇基礎(chǔ)的行業(yè)模型,然后上傳自己的領(lǐng)域無(wú)標(biāo)注的數(shù)據(jù)就可以自動(dòng)的開(kāi)始模型的訓(xùn)練。
2.效果評(píng)估
下面是模型訓(xùn)練之后客戶可以在我們的系統(tǒng)上面去做一個(gè)直觀的效果評(píng)估,可以看到這里會(huì)列出基礎(chǔ)的模型和以及自動(dòng)訓(xùn)練之后的模型的效果的變化,客戶也可以去做少量的人工標(biāo)注來(lái)驗(yàn)證模型的效果。
這個(gè)鏈路目前已經(jīng)在阿里內(nèi)部使用,近期還會(huì)在開(kāi)放搜索的產(chǎn)品上透出給到客戶,原來(lái)我們?nèi)プ鲆粋€(gè)輕量化的客戶定制達(dá)到上述效果可能需要一到兩個(gè)月的時(shí)間,還需要去標(biāo)注1萬(wàn)句以上的這些標(biāo)注數(shù)據(jù)。現(xiàn)在的話基于這套方案只需要一周的時(shí)間,完全無(wú)標(biāo)注或者只需要去標(biāo)注1000個(gè)此以內(nèi)的標(biāo)注數(shù)據(jù)就可以達(dá)到這樣的效果。
輕量化定制效果展示
我們的工具可以自動(dòng)發(fā)現(xiàn)出場(chǎng)景中的這些新詞,并對(duì)這些新詞做實(shí)體標(biāo)簽的預(yù)測(cè),可以看到括號(hào)中的這些新詞是在不同的上下文中預(yù)測(cè)出的,標(biāo)簽的一個(gè)分布從而指導(dǎo)我們?nèi)ヅ袛噙@個(gè)新詞它是否是一個(gè)合法的新詞,以及它屬于的實(shí)體標(biāo)簽到底是什么,為我們的模型去提供最關(guān)鍵的信息。
地址場(chǎng)景
電商場(chǎng)景
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的搜索NLP行业模型和轻量化客户定制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: YOLO升级版:YOLOv2和YOLO9
- 下一篇: 打通JAVA与内核系列之一Reentra