偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

DSSM文本匹配模型在蘇寧商品語(yǔ)義召回上的應(yīng)用

原創(chuàng)
人工智能
文本匹配是自然語(yǔ)言處理中的一個(gè)核心問(wèn)題,它不同于MT、MRC、QA 等end-to-end型任務(wù),一般是以文本相似度計(jì)算的形式在應(yīng)用系統(tǒng)中起核心支撐作用1。它可以應(yīng)用于各種類(lèi)型的自然語(yǔ)言處理任務(wù)中,例如信息檢索、搜索引擎、問(wèn)答系統(tǒng)、信息流推薦、復(fù)述問(wèn)題、知識(shí)檢索、機(jī)器翻譯等。

【51CTO.com原創(chuàng)稿件】1、背景

文本匹配是自然語(yǔ)言處理中的一個(gè)核心問(wèn)題,它不同于MT、MRC、QA 等end-to-end型任務(wù),一般是以文本相似度計(jì)算的形式在應(yīng)用系統(tǒng)中起核心支撐作用。它可以應(yīng)用于各種類(lèi)型的自然語(yǔ)言處理任務(wù)中,例如信息檢索、搜索引擎、問(wèn)答系統(tǒng)、信息流推薦、復(fù)述問(wèn)題、知識(shí)檢索、機(jī)器翻譯等。

之所以文本匹配的適用范圍如此之廣,是因?yàn)楹芏郚LP任務(wù)本質(zhì)上可以抽象為一個(gè)文本匹配問(wèn)題,比如說(shuō)復(fù)述問(wèn)題可以歸結(jié)為兩個(gè)同義句的匹配,信息檢索就是一個(gè)搜索詞和文檔資源的匹配過(guò)程,問(wèn)答系統(tǒng)的核心問(wèn)題是將用戶輸入的問(wèn)題和最佳的候選答案匹配起來(lái),對(duì)話系統(tǒng)可以歸結(jié)為前一句對(duì)話和下一句回復(fù)的匹配。本文主要介紹DSSM文本匹配模型在蘇寧商品語(yǔ)義召回上的應(yīng)用。

使用文本匹配模型進(jìn)行語(yǔ)義召回是在蘇寧易購(gòu)主搜系統(tǒng)對(duì)一些未知詞或者語(yǔ)義不明甚至有錯(cuò)字少字的用戶搜索詞返回結(jié)果不好的情況下提出的。如下圖所示,用戶漏了掛燙機(jī)里的掛字,并且后面輸入了有一定干擾作用的具體型號(hào)詞,導(dǎo)致沒(méi)有返回結(jié)果。scolib品牌的耳機(jī)沒(méi)有在蘇寧進(jìn)行銷(xiāo)售,因此scolib這個(gè)英文詞屬于未知詞。 

 

圖一: 未知、錯(cuò)字少字等情況搜索效果展示

從以上兩種召回效果較差的情況可以看出,以文本相似度為核心的召回策略雖然能在大部分情況下保證較高的精度,但是無(wú)法解決前文所提到的特殊情況。因此采用語(yǔ)義模型,獲取與用戶query的語(yǔ)義相近的商品是非常有必要的。

深度文本匹配可以總結(jié)為四種:1、單語(yǔ)義模型 2、多語(yǔ)義模型 3、匹配矩陣模型 4、深層次句子模型。其中單語(yǔ)義模型用全連接、CNN、 RNN或其他的特征提取器得到兩個(gè)句子的深層語(yǔ)義向量,再計(jì)算兩者的匹配度;多語(yǔ)義模型從多顆粒的角度解讀句子,考慮到句子內(nèi)部的局部結(jié)構(gòu);匹配矩陣模型直接捕捉匹配信號(hào),將詞間的匹配信號(hào)作為灰度圖,再用深度網(wǎng)絡(luò)提取特征,更精細(xì)的處理句子中的聯(lián)系;深層次的句子間模型用更精細(xì)的結(jié)構(gòu)去挖掘句子內(nèi)和句子間不同單詞之間的聯(lián)系,得到更好的效果5。

近幾年來(lái)文本匹配相關(guān)的論文層出不窮,對(duì)句子對(duì)結(jié)構(gòu)的處理越來(lái)越精細(xì),模型復(fù)雜度快速上升6。雖然論文里的實(shí)驗(yàn)SOTA效果不斷刷新, 但是完整的訓(xùn)練步驟,甚至是單次預(yù)測(cè)所需時(shí)間也是非常長(zhǎng)的。線上生產(chǎn)環(huán)境以保證用戶體驗(yàn)為第一要?jiǎng)?wù),需要快速可靠準(zhǔn)確的文本匹配策略7。同時(shí),蘇寧有海量的每日更新的query-doc對(duì)文本語(yǔ)料,query是用戶的搜索詞,doc為系統(tǒng)返回的商品title。想要在有限的硬件資源下,能容忍的訓(xùn)練調(diào)試時(shí)間范圍內(nèi)實(shí)現(xiàn)對(duì)主站全商品類(lèi)目?jī)|級(jí)別語(yǔ)料進(jìn)行訓(xùn)練,需要一個(gè)可調(diào)參數(shù)規(guī)模不大,待召回千萬(wàn)級(jí)商品集的語(yǔ)義向量可以離線提前算好,模型效果能隨著語(yǔ)料規(guī)模增大而提高的模型。綜上,我們選擇LSTM-DSSM模型作為商品語(yǔ)義召回系統(tǒng)的核心。

2、LSTM-DSSM模型

2.1 模型輸入

在商品語(yǔ)義召回業(yè)務(wù)里,待匹配的DOC是商品標(biāo)題,而標(biāo)題不可避免的會(huì)包含型號(hào)詞如GTX2060這種。如果對(duì)輸入按字處理,則會(huì)強(qiáng)制模型學(xué)習(xí)2、0、6、0四個(gè)數(shù)字是一種固定搭配,對(duì)于短文本還好,可一些電子產(chǎn)品的型號(hào)詞數(shù)字加字母長(zhǎng)達(dá)十幾位,而真正的核心中文詞也許只有短短幾位,這就產(chǎn)生了非常嚴(yán)重的干擾效果。而且對(duì)于包含幾十個(gè)字的長(zhǎng)標(biāo)題,就需要同等長(zhǎng)度的LSTM進(jìn)行特征提取,造成參數(shù)過(guò)多,增加了模型學(xué)習(xí)成本。綜上,本模型放棄字token作為輸入,而是使用詞token。

我們參考了遷移學(xué)習(xí)的思想,不是簡(jiǎn)單的隨機(jī)初始化詞token的Embedding向量,而是以億級(jí)別的蘇寧商品Title為語(yǔ)料,先使用HanLP分詞器進(jìn)行分詞處理。將分詞所得的詞token按順序編碼,生成后續(xù)模型需要的詞典。并在spark平臺(tái)上,用其提供的word2vec模型接口訓(xùn)練詞token語(yǔ)料。這樣就能得到每個(gè)詞token的語(yǔ)義向量,并當(dāng)作為模型的輸入。

考慮到詞典和各個(gè)詞的語(yǔ)義向量的生成,是一勞永逸的工作,通常不需要再變動(dòng),所以使用了非常大規(guī)模的語(yǔ)料,spark環(huán)境設(shè)置300臺(tái)機(jī)器,訓(xùn)練時(shí)間接近8個(gè)小時(shí),最后的效果還是滿意的。

2.2 模型架構(gòu)

商品語(yǔ)義召回系統(tǒng)所用DSSM在如下圖所示的基本模型基礎(chǔ)上,增加了兩處針對(duì)業(yè)務(wù)效果的改進(jìn)。

圖二: DSSM基礎(chǔ)模型示意圖

首先對(duì)于匹配商品召回這種具體的業(yè)務(wù)場(chǎng)景,商品的品牌和品類(lèi)是非常重要的特征。如果能匹配到正確的品類(lèi)、品牌,那最終效果肯定不會(huì)差。因此為了能直接利用這類(lèi)特征,采取了非常直接的方法,如下圖所示:

圖三: 頻偏、品類(lèi)特征使用示意圖

由上圖可見(jiàn),品牌、品類(lèi)通過(guò)Embedding表示學(xué)習(xí)層、兩層MLP直接映射成和LSTM提取的語(yǔ)義向量同一維度的向量,再將兩者相加得到最終的語(yǔ)義向量表示。

第二,引入了注意力機(jī)制,目的是解決諸如洗衣機(jī)返回較多洗衣機(jī)配件的情況,提升核心詞洗衣機(jī)的權(quán)重,這樣能極大的改善召回效果,具體使用方式如下圖所示8:

圖四: 注意力機(jī)制使用示意圖

由以上兩圖可以看出,有兩種參考了經(jīng)典乘性注意力機(jī)制的方法,第一種是用query的最后一個(gè)LSTM單元輸出的隱層向量作為context,分別與doc每個(gè)時(shí)間步驟的隱層向量作點(diǎn)積計(jì)算,計(jì)算結(jié)果作為權(quán)重。每個(gè)時(shí)間步驟的向量乘以權(quán)重再求和就可以作為最終的語(yǔ)義向量。第二種則是求得query每個(gè)時(shí)間步驟的權(quán)重,然后得到query最終語(yǔ)義向量,將其與doc最后單元輸出并聯(lián)或者相加,作為最終商品語(yǔ)義向量。

2.3 模型輸出

模型的輸出作為語(yǔ)義召回系統(tǒng)的輸入,主要由兩個(gè)方面組成。第一,是實(shí)時(shí)生成搜索詞query語(yǔ)義向量的模塊。具體做法要考慮到實(shí)際業(yè)務(wù)場(chǎng)景一次只輸入一條query的情況,改造模型輸入接口和具體處理方式,讀取已經(jīng)訓(xùn)練好的模型參數(shù),重新保存為tf-serving服務(wù)框架所需要的pb格式模型。第二,離線生成待召回商品的語(yǔ)義向量集,由于使用了注意力機(jī)制,還需要query參與商品語(yǔ)義向量的生成。召回集是接近百萬(wàn)級(jí)的規(guī)模,因此可以方便的復(fù)用訓(xùn)練模型,一次生成batch_size個(gè)語(yǔ)義向量,并且全部Norm化成平方和為1的向量,保存在內(nèi)存里,當(dāng)下一個(gè)batch_size生成完畢,直接拼接在一起。在內(nèi)存里存儲(chǔ)完畢所有商品的語(yǔ)義向量,形式為numpy向量,最終存儲(chǔ)到硬盤(pán)里的是npy文件,大小為500M左右,空間費(fèi)用可以接受。

3、語(yǔ)義召回系統(tǒng)介紹

3.1 數(shù)據(jù)準(zhǔn)備

利用蘇寧完善的數(shù)據(jù)倉(cāng)庫(kù)環(huán)境,在每日的固定時(shí)間執(zhí)行HIVE腳本,獲取用戶搜索詞、對(duì)應(yīng)的商品Title、編碼、品牌品類(lèi),質(zhì)量分等字段的信息。語(yǔ)料按搜索詞搜索次數(shù),商品質(zhì)量排序,選取質(zhì)量高的作為語(yǔ)料,并且從友商平臺(tái)上抓取商品信息作為補(bǔ)充。同時(shí),在spark平臺(tái)上進(jìn)行初始語(yǔ)料的處理,包括分詞、去除無(wú)意義詞、中英文分開(kāi)處理等預(yù)處理步驟,最后要將處理完畢的語(yǔ)料轉(zhuǎn)化成一個(gè)正DOC,四個(gè)負(fù)DOC, 即可以直接應(yīng)用于模型訓(xùn)練的形式。另外還需要針對(duì)召回,對(duì)語(yǔ)料進(jìn)行去重處理,避免召回同一件商品的情況出現(xiàn)。最后,給召回系統(tǒng)提供待召回的商品title集以及準(zhǔn)確對(duì)應(yīng)的商品ID和商品質(zhì)量分集。

3.2 在線匹配

從上文可以看出,模型將準(zhǔn)備好的待召回商品title集處理為npy文件,存在磁盤(pán)之中。另外輸出了tf-serving服務(wù)框架所需要的pb格式模型,可以將用戶搜索詞實(shí)時(shí)轉(zhuǎn)化為語(yǔ)義向量。接下來(lái)要做的事情就是計(jì)算query向量與所有商品語(yǔ)義向量之間的兩兩余弦距離,返回TopN, 找到對(duì)應(yīng)的商品ID,提供給前臺(tái)展示。

需要注意的是,這里找TopN的過(guò)程需要‘快準(zhǔn)狠’,我們使用的Facebook開(kāi)源的Faiss框架,為了保證準(zhǔn)確度,沒(méi)有使用任何自帶的高級(jí)索引功能,只使用最簡(jiǎn)單的暴力計(jì)算兩兩之間的距離,這樣肯定能找到正確結(jié)果。通過(guò)測(cè)試,在百萬(wàn)級(jí)數(shù)據(jù)的規(guī)模,維度為256,使用暴力檢索,耗時(shí)也不到1ms,完全可以接受。另外出于業(yè)務(wù)目標(biāo)考慮,提高高質(zhì)量分物品的權(quán)重,這簡(jiǎn)單通過(guò)余弦距離乘以質(zhì)量分來(lái)實(shí)現(xiàn),人為提高高質(zhì)量分物品與搜索詞的余弦距離。

3.3 系統(tǒng)環(huán)境

整個(gè)語(yǔ)義召回系統(tǒng)的系統(tǒng)環(huán)境組成較為清晰,包括在Spark平臺(tái)上的大規(guī)模數(shù)據(jù)處理,jupyter深度學(xué)習(xí)平臺(tái)上的模型訓(xùn)練和語(yǔ)義向量生成,Linux主機(jī)上的Faiss匹配找出TopN的過(guò)程,tf-serving線上服務(wù)器的布置,以及方便結(jié)果調(diào)試的前端匹配結(jié)果展示,如下圖所示:

圖五: 召回系統(tǒng)前端展示

可以方便的傳入各類(lèi)參數(shù),比如返回商品的個(gè)數(shù),使用模型的版本,使用索引的種類(lèi)等等,調(diào)試起來(lái)非常方便。

4、總結(jié)

本文介紹了DSSM文本匹配模型在蘇寧商品語(yǔ)義召回上的應(yīng)用,主要包含算法原理和工程實(shí)踐兩個(gè)方面。蘇寧搜索團(tuán)隊(duì)在搜索匹配、個(gè)性化推薦、知識(shí)圖譜、智能對(duì)話等自然語(yǔ)言處理領(lǐng)域有很多的嘗試實(shí)踐,限于篇幅本文不做介紹,歡迎讀者關(guān)注后續(xù)的最新文章分享。

參考文獻(xiàn)

  1. Huang P S, He X, Gao J, et al. Learning deep structured semantic models for web search using clickthrough data[C]// ACM International Conference on Conference on Information & Knowledge Management. ACM, 2013:2333-2338.
  2. Shen, Yelong, et al. “A latent semantic model with convolutional-pooling structure for information retrieval.” Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management. ACM, 2014.
  3. Palangi, Hamid, et al. “Semantic modelling with long-short-term memory for information retrieval.” arXiv preprint arXiv:1412.6629 (2014).
  4. http://ju.outofmemory.cn/entry/316660
  5. http://blog.csdn.net/u013074302/article/details/76422551
  6. 博客園 DSSM算法-計(jì)算文本相似度
  7. Gers, Felix A., Schmidhuber, Jrgen, and Cummins, Fred. Learning to forget: Continual prediction with lstm. Neural Computation, 12:2451–2471, 1999.
  8. Gers, Felix A., Schraudolph, Nicol N., and Schmidhuber, J¨urgen. Learning precise timing with lstm recurrent networks. J. Mach. Learn. Res., 3:115–143, March 2003.

作者簡(jiǎn)介

周杰,蘇寧科技集團(tuán)消費(fèi)者平臺(tái)研發(fā)中心算法專家,主要從事自然語(yǔ)言處理、個(gè)性化推薦、搜索匹配等領(lǐng)域的研發(fā)工作,在傳統(tǒng)機(jī)器學(xué)習(xí)、深度學(xué)習(xí)方面有豐富實(shí)戰(zhàn)經(jīng)驗(yàn)。

李春生,蘇寧科技集團(tuán)消費(fèi)者平臺(tái)研發(fā)中心技術(shù)總監(jiān),負(fù)責(zé)商品、情報(bào)與搜索技術(shù)線架構(gòu)設(shè)計(jì)與核心技術(shù)規(guī)劃等方面的工作,在搜索領(lǐng)域有多年的實(shí)戰(zhàn)經(jīng)驗(yàn),從0到1構(gòu)建蘇寧易購(gòu)搜索平臺(tái),在搜索領(lǐng)域上耕耘7年有余,精通搜索架構(gòu)設(shè)計(jì)與性能優(yōu)化,同時(shí)在機(jī)器學(xué)習(xí)、大數(shù)據(jù)等領(lǐng)域?qū)λ阉鞯膱?chǎng)景化應(yīng)用有豐富的經(jīng)驗(yàn)。

孫鵬飛,蘇寧科技集團(tuán)消費(fèi)者平臺(tái)研發(fā)中心搜索算法團(tuán)隊(duì)負(fù)責(zé)人,專注于nlp,搜索排序,智能問(wèn)答方向的研究。帶領(lǐng)團(tuán)隊(duì)從無(wú)到有搭建了搜索排序系統(tǒng)、個(gè)性化系統(tǒng)、智能搜索系統(tǒng)、反作弊系統(tǒng)等。對(duì)算法在產(chǎn)品中的調(diào)優(yōu)及工程應(yīng)用實(shí)踐上有著豐富的經(jīng)驗(yàn)。

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來(lái)源: 51CTO
相關(guān)推薦

2013-10-29 10:41:06

SAP

2013-02-20 10:07:29

蘇寧電器蘇寧云商云服務(wù)

2018-05-09 14:45:50

蘇寧前端Nodejs

2019-02-19 09:00:00

深度學(xué)習(xí)知識(shí)抽取蘇寧

2016-11-10 19:31:00

蘇寧雙11

2013-10-31 09:49:07

2018-11-12 12:45:19

2018-05-25 22:56:14

AI技術(shù)短視頻蘇寧易購(gòu)

2017-09-01 13:19:35

蘇寧無(wú)人店Biu

2020-02-27 08:00:41

混沌工程系統(tǒng)失控條件

2017-11-29 09:34:03

MVP蘇寧移動(dòng)

2018-11-08 09:40:04

蘇寧智能維護(hù)系統(tǒng)Python

2012-07-02 10:13:58

蘇寧電器智慧商務(wù)

2022-07-13 16:42:35

黑產(chǎn)反作弊風(fēng)險(xiǎn)

2018-04-16 08:30:07

AI設(shè)計(jì)師蘇寧

2019-12-24 09:30:59

蘇寧高可用高并發(fā)

2014-02-19 10:40:07

虛擬運(yùn)營(yíng)商

2018-11-13 08:00:14

蘇寧iOS開(kāi)發(fā)

2018-11-07 10:00:00

微服務(wù)Service MesIstio

2020-06-19 07:00:00

蘇寧數(shù)字孿生平臺(tái)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)