0 小系列初衷
自己接觸的項(xiàng)目大都是初創(chuàng),沒開始多久的項(xiàng)目,從0到1的不少,2020年快結(jié)束,感覺這個(gè)具有一定個(gè)人特色的技術(shù)經(jīng)驗(yàn)可以在和大家分享一下。
計(jì)劃篇章:
(已完成)文本分類篇。針對(duì)NLP文本分類任務(wù)。
(已完成)序列標(biāo)注(NER)篇。針對(duì)命名實(shí)體識(shí)別、序列標(biāo)注任務(wù)。
文本匹配篇。針對(duì)語(yǔ)義相似度計(jì)算、向量匹配等問題。
人工特征學(xué)習(xí)篇。針對(duì)多特征的機(jī)器、深度學(xué)習(xí)方案。
開始我把這個(gè)標(biāo)題叫做語(yǔ)義匹配,后來感覺還是不能叫這個(gè)名字,應(yīng)該把問題放大為句子相似度和匹配問題。
1 語(yǔ)義匹配的場(chǎng)景
語(yǔ)義匹配的核心其實(shí)是評(píng)價(jià)兩個(gè)query之間的相似度,可以看看現(xiàn)在常用的場(chǎng)景:
搜索領(lǐng)域,語(yǔ)義向量召回是一個(gè)比較新潮的召回方式,靈活性更高,下游的精排部分也可以通過語(yǔ)義相似度來進(jìn)行排序。
智能客服,之前的阿里小蜜的文章也提過,對(duì)于長(zhǎng)尾的結(jié)果,可以通過向量召回的方式來進(jìn)行處理。
對(duì)話領(lǐng)域,可以說是智能客服的眼神,閑聊類的,可以通過語(yǔ)義匹配完成閑聊的回復(fù),當(dāng)然多輪也有多輪的玩法。
可以看到,各種領(lǐng)域,其實(shí)語(yǔ)義匹配的舞臺(tái)非常大,了解這方面的方案對(duì)NLP技術(shù)棧的了解非常有用。
2 方法選型
2.1 文本層面的相似
最簡(jiǎn)單的方法往往就是最淺層的方案,所以還是文本層面的相似,方法逐步升級(jí)是這樣的:
編輯距離,這應(yīng)該是最嚴(yán)格的一種相似了。
cqr,分子是句子1和句子2詞匯的交集詞匯量,分母是句子1和句子2的并集詞匯量。
加權(quán)的cqr,可以做一個(gè)簡(jiǎn)單的詞權(quán)重,然后做加權(quán)的cqr。
BM25。傳統(tǒng)搜索的常用方法。
文本層面的方法,在搜索領(lǐng)域已經(jīng)非常成熟,BM25已經(jīng)具有很高的準(zhǔn)度,結(jié)合上游常用的一些改寫,其實(shí)已經(jīng)能夠達(dá)到很好的效果,這也是經(jīng)典搜索最常用的一套范式。
2.2 向量表征作召回
向量召回是當(dāng)前比較流行的一種新的搜索技術(shù),這里以來兩個(gè)關(guān)鍵技術(shù)點(diǎn),向量索引和句子表征技術(shù)。
向量索引的是指就是一種向量最近鄰的搜索方案,最常用的場(chǎng)景就是KNN,而在我們的場(chǎng)景中,就是把句子表征成一個(gè)向量,構(gòu)建索引,新來一個(gè)句子,用同樣的放哪個(gè)還是構(gòu)建一個(gè)向量,就可以完成相似度召回,常用的構(gòu)建索引方式推薦兩種,這兩種都已經(jīng)有開源工具支持。
annoy,一種基于樹的構(gòu)造方法。
hnsw,一種基于圖的構(gòu)造方法,這應(yīng)該是目前我已知速度最快的方法了。
說完了向量索引,就要說向量表征了,只有足夠好的向量表征,上面說的向量召回,召回的東西才會(huì)足夠好,為什么我說好呢,就是因?yàn)檫@里涉及的好的維度多:
準(zhǔn)確率足夠高,召回的內(nèi)容真的是和句子足夠接近。
有比較強(qiáng)的泛化能力,這也是語(yǔ)義向量召回相比傳統(tǒng)搜索的相似召回最突出的優(yōu)勢(shì),只要語(yǔ)義足夠接近,“查詢”和“查看”就可能匹配到,“冪冪”和“楊冪”也能打中,這樣能降低我們挖掘數(shù)據(jù)帶來的成本。
好的相似度匹配能識(shí)別關(guān)鍵詞,只需要模型端到端處理,不需要單獨(dú)抽關(guān)鍵詞。
那么,這個(gè)語(yǔ)義表征,一般都是什么方法呢,這里也是提幾個(gè):
word2vector預(yù)訓(xùn)練。如果語(yǔ)料不足甚至沒有語(yǔ)料,我們其實(shí)可以用開源的預(yù)訓(xùn)練好的w2v詞向量作為基線,取均值就能拿到句向量。
如果有一些平行樣本,可以開始考慮用一些平行預(yù)料(sentence1,setence2,label)進(jìn)行finetuning,說白了就是兩個(gè)向量分別去詞向量后均值,最終用余弦或者歐氏距離計(jì)算相似度就行。
數(shù)據(jù)量足夠后,就可以開始在上面搭積木了,CNN、LSTM之類的都可以嘗試,當(dāng)然經(jīng)驗(yàn)之談,self-attention可以嘗試。
數(shù)據(jù)量再多點(diǎn),我們就可以上bert之類的大家伙了。
現(xiàn)在的語(yǔ)義相似度,更多是通過優(yōu)化交互特征來提升相似度計(jì)算的效果,但是在向量召回這里,由于目前只能支持簡(jiǎn)單的相似度召回,兩個(gè)query只有在計(jì)算相似度的最后一步才能夠見面,因此query之間的交互特征是無(wú)法提取的,所以很多現(xiàn)在流行的方法是用不了的。
2.3 語(yǔ)義相似度
如果語(yǔ)義相似度要被用在后續(xù)的精排,無(wú)論是搜索、對(duì)話甚至是推薦,在經(jīng)歷初篩之后,我們往往有更多時(shí)間和經(jīng)歷來比對(duì)剩余的結(jié)果和用戶query之間的相似程度,此時(shí)我們就可以使用交互特征逐一匹配,完成最后的精排,這些方案往往在大量比賽中就有提到,以DSSM為基,升級(jí)很多方案,包括很多人知道的EISM等,當(dāng)然比賽的經(jīng)驗(yàn)也告訴我們,模型本身還可以加入更多的文本特征來協(xié)助衡量語(yǔ)義相似度,因此在用語(yǔ)義相似度模型的同時(shí),可以加入一些人工特征來協(xié)助優(yōu)化,這也是推薦系統(tǒng)的wide&deep中所提到的深淺層特征均用的思想。
這里給一篇螞蟻金服比賽的文章吧,大家可以根據(jù)這個(gè)思路去參考優(yōu)化:https://blog.csdn.net/u014732537/article/details/81038260
3 優(yōu)化手段
當(dāng)然,上面的方式是讓大家用最快的速度去完成一個(gè)demo或者說baseline,然后我們需要一系列的手段進(jìn)行優(yōu)化,在這里也給大家介紹一些有用的方案。
如果你的場(chǎng)景里需要一些英文,可以加入一些英文文本去finetuning,開放域的。
針對(duì)問答場(chǎng)景,由于用戶的問題都有明顯意圖,因此做一些詞權(quán)重、attention的操作有利于效果提升,包括提槽,當(dāng)然在淺層模型的情況下,詞的歸一化也有好處。
通過傳統(tǒng)的搜索,用ES召回之類而方式,可以召回很多文本接近但是語(yǔ)義遙遠(yuǎn)的case,通過人工標(biāo)注的樣本對(duì)效果的提升很有好處。
同樣是hard case挖掘,用自己的語(yǔ)義模型做召回,召回在閾值附近的case,做一下人工的復(fù)核,這樣做樣本也對(duì)效果提升有好處,這其實(shí)用的是主動(dòng)學(xué)習(xí)的思想。
4 小結(jié)
做完搜索,后來又開始做向量表征和召回,感覺就很奇妙,能夠理解傳統(tǒng)搜索和相對(duì)新潮的向量表征召回之間的關(guān)系,這兩者之間的關(guān)系還是挺微妙地,互相借鑒的過程中能夠產(chǎn)生一些火花,例如向量檢索之前可以召回一些相似的、標(biāo)準(zhǔn)的query然后來檢索,這樣能大幅提升準(zhǔn)確率,也一定程度降低了對(duì)模型深度的要求。(隱約感覺是時(shí)候?qū)懸黄嘘P(guān)模型和規(guī)則特征之間關(guān)系的文章了?)
責(zé)任編輯:xj
原文標(biāo)題:任務(wù)方案思考:句子相似度和匹配
文章出處:【微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
語(yǔ)義
+關(guān)注
關(guān)注
0文章
22瀏覽量
8802 -
自然語(yǔ)言處理
+關(guān)注
關(guān)注
1文章
630瀏覽量
14665
原文標(biāo)題:任務(wù)方案思考:句子相似度和匹配
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
自然語(yǔ)言處理NLP的概念和工作原理
云知聲論文入選自然語(yǔ)言處理頂會(huì)EMNLP 2025
SGS為TCL華星自然光MNT顯示頒發(fā)高自然光相似度 Performance Tested Mark
HarmonyOSAI編程自然語(yǔ)言代碼生成
【HZ-T536開發(fā)板免費(fèi)體驗(yàn)】5- 無(wú)需死記 Linux 命令!用 CangjieMagic 在 HZ-T536 開發(fā)板上搭建 MCP 服務(wù)器,自然語(yǔ)言輕松控板
太陽(yáng)光模擬器光譜匹配度測(cè)量:關(guān)鍵技術(shù)與標(biāo)準(zhǔn)解讀?
太陽(yáng)光模擬器性能的影響參數(shù):光譜匹配度、光譜覆蓋率及光譜偏離率
人工智能浪潮下,制造企業(yè)如何借力DeepSeek實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型?
云知聲四篇論文入選自然語(yǔ)言處理頂會(huì)ACL 2025
基于LockAI視覺識(shí)別模塊:C++多模板匹配
基于LockAI視覺識(shí)別模塊:C++模板匹配
小白學(xué)大模型:從零實(shí)現(xiàn) LLM語(yǔ)言模型
東芝硬盤如何優(yōu)化存儲(chǔ)
自然語(yǔ)言提示原型在英特爾Vision大會(huì)上首次亮相
?VLM(視覺語(yǔ)言模型)?詳細(xì)解析
自然語(yǔ)言任務(wù)方案思考:句子相似度和匹配
評(píng)論