雷鋒網(wǎng) (搜索“雷鋒網(wǎng)”公眾號(hào)關(guān)注) 按:本文作者NLP日月星辰,北京航空航天大學(xué)在讀博士生,研究方向?yàn)?自然語(yǔ)言處理,深度學(xué)習(xí)。
深度學(xué)習(xí)已經(jīng)在許多工業(yè)產(chǎn)品中取得應(yīng)用。例如Jeff Dean(谷歌大腦負(fù)責(zé)人)在去年的WSDM會(huì)議上指出,谷歌的搜索相關(guān)性計(jì)算模塊,深度學(xué)習(xí)的三個(gè)特征是權(quán)重最大的。
并且深度學(xué)習(xí)算法也大量的應(yīng)用到了谷歌和百度的機(jī)器翻譯系統(tǒng)之中,使機(jī)器翻譯質(zhì)量提升。本文將介紹另一個(gè)深度學(xué)習(xí)的應(yīng)用,郵件自動(dòng)回復(fù)。
手機(jī)版郵件系統(tǒng)的困擾
自動(dòng)回復(fù)是否可以在工業(yè)中進(jìn)行實(shí)際應(yīng)用,一直是人們喋喋不休爭(zhēng)論的一個(gè)問(wèn)題,很多人認(rèn)為對(duì)話系統(tǒng),所利用的自動(dòng)回復(fù)技術(shù)只是一個(gè)玩物,無(wú)法解決用戶的剛需。而谷歌,在去年十一月將自動(dòng)回復(fù)技術(shù)應(yīng)用到了Inbox中。
Inbox是谷歌在手機(jī)上的郵件客戶端,類似于手機(jī)上的Outlook。Inbox利用深度學(xué)習(xí)技術(shù),增添了為一些語(yǔ)義簡(jiǎn)單的郵件進(jìn)行自動(dòng)回復(fù)的功能,擬解決“由于屏幕較小,手機(jī)郵件回復(fù)很不方便”的用戶痛點(diǎn)。其中主要解決如下幾個(gè)問(wèn)題:
如何選擇可回復(fù)郵件:當(dāng)今商務(wù)人士郵件眾多,很多郵件并不長(zhǎng),據(jù)谷歌統(tǒng)計(jì)有百分之25%的郵件少于20個(gè)詞。那么對(duì)這些簡(jiǎn)短且語(yǔ)義好理解的郵件是否可以通過(guò)分類進(jìn)行篩選,交給郵件生成系統(tǒng)是一個(gè)有趣的分類問(wèn)題。
回復(fù)的郵件是否可分類:很多郵件的回復(fù)類型可枚舉,例如問(wèn)“下午三點(diǎn)是否可以參加X(jué)XX會(huì)議”,答案無(wú)非是“可以參加”,“有事情不能參加”,“我在想想”這三個(gè)情況,所以如何通過(guò)算法將三種類型的回復(fù)進(jìn)行聚類是一個(gè)有現(xiàn)實(shí)意義的聚類問(wèn)題。
如何針對(duì)每個(gè)類選出最合適的郵件:針對(duì)每個(gè)類,如何通過(guò)自動(dòng)回復(fù)算法生成特定的回復(fù),是一個(gè)自然語(yǔ)言處理上的回復(fù)生成問(wèn)題。
系統(tǒng)架構(gòu)
谷歌于今年KDD會(huì)議上,發(fā)布了SmartReply的論文。我們首先看SmartReply的架構(gòu)

從圖中可以看到,系統(tǒng)分為四個(gè)部分,分別是 可回復(fù)郵件篩選,回復(fù)郵件聚類,回復(fù)郵件選擇,和多樣性回復(fù)生成 ,之后將一一介紹。
可回復(fù)郵件篩選機(jī)制(Trigger Response)
模塊功能
在谷歌的郵件回復(fù)系統(tǒng)中,并不是每一封郵件都會(huì)給出自動(dòng)回復(fù)的建議。因?yàn)橛行┼]件意思簡(jiǎn)單明了,機(jī)器可以快速的理解,并給出一些回復(fù)候選。
例如:今天晚上七點(diǎn)我們開(kāi)個(gè)會(huì)討論一下項(xiàng)目修改方案吧。
這個(gè)郵件機(jī)器可以快速理解,并通過(guò)之后的步驟給出對(duì)應(yīng)的候選方案。然而,還存在著一些郵件結(jié)構(gòu)復(fù)雜,機(jī)器并不能很好的理解其中含義。
例如:我已經(jīng)看完你的論文,在你的論文中,公式2的推導(dǎo)出現(xiàn)了錯(cuò)誤,我覺(jué)得倒數(shù)應(yīng)該用鏈?zhǔn)椒▌t求解。
總之,在回復(fù)之前,需要一個(gè)模塊判定機(jī)器是否可以理解郵件語(yǔ)義,避免在不理解的時(shí)候仍然給出郵件回復(fù)候選,使用戶感到被騷擾。
模塊實(shí)現(xiàn)方法
可回復(fù)郵件的篩選機(jī)制歸根結(jié)底是一個(gè)分類問(wèn)題,即給定訓(xùn)練集合 D ={X,Y},X代表文檔的特征集合,Y代表文檔的標(biāo)簽,學(xué)習(xí)函數(shù)f(x),使得y與f(x)的誤差最小。在此任務(wù)中谷歌選擇了多層感知機(jī)作為分類器,多層感知機(jī)如下圖所示

在此分類任務(wù)中,這篇論文使用了一元詞匯(Unigram)和二元詞匯(Bigram)來(lái)對(duì)抽取特征,并將同一類的特征進(jìn)行相加,得到MLP的輸入。
這個(gè)MLP模型有三個(gè)隱層層,每層的激活函數(shù)使用了ReLU,且利用DropOut防止過(guò)擬合。最終經(jīng)過(guò)試驗(yàn)證明,這個(gè)分類模型的AUC為0.854。針對(duì)此模塊,筆者觀點(diǎn)如下:
MLP模型算是文本分類的最簡(jiǎn)單模型之一,然而簡(jiǎn)單模型在這個(gè)任務(wù)上仍能取得不錯(cuò)的效果,這和一些其他的論文得到的結(jié)論一致(例如Facebook的FastText,利用簡(jiǎn)單的結(jié)構(gòu)就可以在分類任務(wù)和復(fù)雜結(jié)構(gòu)的網(wǎng)絡(luò)得到近似的效果)。大部分現(xiàn)實(shí)分類任務(wù)簡(jiǎn)單,很多簡(jiǎn)單的模型便可以達(dá)到還不錯(cuò)的效果,刻意追求模型的復(fù)雜性在簡(jiǎn)單任務(wù)上往往得不償失。