search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

美團如何利用NLP完成5大應用場景

王興在最近一篇刷屏的專訪當中說,「很多人只關心邊界,不關心核心」。這話放在人工智慧領域當中也適用,今天很多人關心人工智慧的前沿論文,但是對於它如何在企業業務中發揮實際作用,反而並不關注。每一項技術,如果沒有用好,那算不得好技術。那麼王興所執掌的美團,到底是如何用AI服務核心業務呢?NLP技術到底在美團有怎樣的具體案例?

本文來自美團技術大牛李彪在最近一次閉門沙龍的分享,介紹NLP技術的應用場景、技術實現和具體案例,沒有炫技,只有滿滿的乾貨。Enjoy!

針對NLP技術,大神們剛剛展開過比較激烈的討論——Yann Lecun論戰Yova Goldberg,導火索是一篇「對抗式生成自然語言的論文」。

NLP大神Yova Goldberg認為該論文所生成的「自然語言」和真實語言相差太遠,充滿語法錯誤,隨後他直接把戰鬥升級成語言學家大戰計算機科學家:「擺脫你們這幫搞深度學習的人,別再抓著語言不放,並宣稱自己已經解決好語言的問題了。」「語言對我來說很神聖。」

對此,深度學習大神Yann Lecun自是有所不滿:「這話竟然是出自Yova之口?他自己都在拿深度學習來做NLP研究!」其實,深度學習已在很多領域都有應用,遲早會滲透到NLP的。

這裡我們不深究大神們誰對誰錯,但從他們的爭論中,我們至少能得出兩點:首先是深度學習在很多方面得到了應用,事實上在NLP的各個領域,深度學習都有應用,其中比較成功的就有機器翻譯。反過來,Yova Goldberg的表述,在我們看來也是有道理的,現在就認定深度學習能解決各種各樣的問題確實說得太滿了,有一些自認為是人工智慧專家的人,其實還遠遠達不到這一水準。

我今天的主題是圍繞NLP來展開的,其實它跟圖像、語音這類智能感知領域不太一樣,難點非常多,也是人類幾千年的一些智慧或者文化的沉澱。

我的分享分為三個部分,主要是想介紹:

  • NLP在美團有哪一些應用場景

  • NLP在美團點評應用了哪一些技術

  • 重點是NLP在美團點評的一些案例

我會選取幾個比較典型的案例給大家詳細介紹一下,最後就是簡單的總結。

NLP在美團點評的應用場景

第一個場景,其實是在美團點評的APP上面,每天都有非常大量的用戶詞。這個裡面有一個文本,我們可以理解成是用戶的一些需求,從中可以做塊狀分析,統一性分析等等。這對我們的搜索系統性能的提升有很大的幫助。

還有一部分文本,是商家的標題及詳情頁裡面很多東西:比如地址、菜品等等。這也是我們比較關心的文本方面的一些東西,我們可以對它的品類做一些很好的識別。

第二個場景,大家應該看得出來,美團點評有著非常巨大的UGC數據,就是用戶對商家的評論。這個數據能帶來什麼?比如說我們可以索取Tag,在用戶做決策的時候提供信息幫助。還可以對評論做一些分類,大家現在看到的是比較優質的一些評論分類,事實上我們在後面做的時候,需要對分類做大量的工作,比如垃圾、黃反、優質等的識別。

除此之外,還要對評論做一些情感分析,比如說評價是正向、負向還是中性的等等。

另外,還有一部分是美團點評APP的一些新聞,比如標題的宣傳、內容的理解、信息的抽取、POI的識別,等等。還有很多工作,比如整篇文章的分類,是分成美食還是影視等類別,其實也要用到NLP技術。

這幾大類是大家能直觀感受到的,其實還有非常多大家感受不到的,例如客服規劃的內容,其實也是NLP需要考慮的。還有就是Crash日誌,以及後台商家需要用到NLP的技術。

NLP在美團點評的應用技術

回頭來看,剛才提到了NLP的一些使用場景,那NLP具體研究的是什麼呢?

「NLP(自然語言處理)可以定義為研究在人與人交際中以及在人與機器交際中的語言問題的一門學科。」

人和機器交互比較好理解,比如說百度搜索、美團APP搜索,這就是人和機器通過搜索關鍵詞進行交互,比如說對話系統,做一些問答或聊天,這個也指人與機器在語音上的交互。

人和人交際可能不那麼好理解,就是藉助於機器設備來做人和人的交際。我說幾個例子:比如說輸入法,用戶通過輸入法輸入想要的東西,然後再反過來用輸入法去做,這裡面要用到非常多的NLP技術;還有你去國外旅遊,可以用APP實時翻譯語音,然後跟外地人進行一次很好的溝通,這也是人和人之間的交流,會藉助於設備,這就要用到很多NLP技術,這裡可能比較抽象。

下面我就列一下,我所接觸到的NLP研究內容,其實還有很多我沒接觸到的。

具體來說,是詞法短語方面的分詞、詞性標註、命名實體識別、組塊分析等,還有句法語義、篇章理解、系統應用等,這些都屬於NLP研究的一些點。

NLP有一個特點,就是很多技術不容易成為技術或產品,比如知識圖譜或信息檢索。還有像對話、機器翻譯這些,其實都是獨立的NLP應用場景與系統。另外,在語音識別合成、OCR圖片方面也會用到NLP。

在感知方面,語音圖像要更深層的理解它裡面的內容,其實都離不開語言的表述。所以,未來的趨勢就是NLP會和這些語境越來越多地融合,也就是說它的應用場景會非常多。這些只是一些關鍵詞,在美團,可能不需要把所有這些東西都研究一遍。

接著,說一下我們在美團所做的事情,主要是分三塊來做NLP的一些研究工作:

最下層的NLP需要很多依賴,比如大量的標註數據,這是限制深度學習在NLP領域發展的重要一點。因為這種NLP需要大量的數據,這個可能需要有一些人(專門)來做。還有機器學習的一些演算法和深度學習的一些演算法方向,我們技術研發在這做了一套深度學習的框架。還會依賴於我們內部處理的一些平台,以及數據存儲的一些基礎,這是最基本的東西。

再往上就是NLP的一些基礎技術,分成四個維度:句法就是整個分析和句法的,語意在表示和匹配,篇章在文本分類方面做一些研究,這是一些基礎的技術。

其實NLP還和應用系統做一些專門的研發或者獨立產品,比如說對話、翻譯、圖譜等等。

NLP支持的業務場景非常多,如搜索、推薦、廣告、配送客服之類。

上圖標紅的內容,我接下來會專門舉例來講,也就是我們做出來的案例,會具體到塊狀分析和評論分析、客服、語意表示和匹配的一些應用。

NLP在美團點評的應用案例

先說一下Query分析。最下層詞語,比如說搜索五道口附近的鋼鐵俠3,最上面就會做一些成分識別。

成分是根據業務制訂的一些標準體系,比如說五道口是一個地址的核心詞,附近其實是地址的修飾詞,鋼鐵俠3其實是店的核心詞,店可以理解成商家的產品,比如說電影院裡面某一個電影。

再往下就是結構、主體和泛化可做的東西比較多,比如說做一些拓展,五道口可能有華聯等等,這個現在是基於圖譜來做的。

其實,這個用處非常多,比如說舉個例子,就是望京華聯搜這個可能出不來結果,但如果做一個擴展之後就可以很順利的找到它想要的一些結果。

從圖譜方面的一些東西可以很好的應用。從內容方面的話,比如說鋼鐵俠3有一些相似的電影等等,這個其實也是我們的一些泛化。

再往上會對Query做一些概念的識別,主要是電影。

以Query意圖識別做為例子。說一個Query,我們對它的類別做一個判別,比如動物園門票就是旅遊,全聚德和望京是美食。我們可以分成不同的類別,這些類別有美食、電影、酒店之類的,還有很多二三級的品類。

說到這個場景之後,其實大家腦子裡就可以想到這個事情怎麼來做。

Query意圖識別可以轉換成機器學習多分類的問題。機器學習對一個問題有一套標準的流程,做過機器學習的都知道。首先要對問題做一個分析,要分哪一些類別,根據現狀制定一個目標。現有數據的支持是否有一些標註的辭典、數據等等,根據這個再來整理數據,比如說如果標註數據不夠怎麼辦,後面會做一些介紹。特徵工程需要抽取很多特徵,特別是你要考慮到O2O的一些特點,需要做一些事情。特徵做完之後再做模型方面的一些選擇和分析,最後做一些線下的評估,然後在線上鑲嵌看它的效果。這個流程是非常通用的。

摘出幾點,對其中不同的地方做一個介紹。首先就是訓練樣本怎麼獲取,這個其實比較難,第一種是人工標註,第二種就是自動標註。思路有幾種,可以通過主動學慣用模型學習,它的執行度是比較高的,有了它以後,區分比較低的再來標一下,這樣標註的樣本量就非常多。還有Query的思想其實也是來擴充執行度比較高的樣本作為它的標註數據。

第二個問題就是特徵設計,我們會把Query的一些語義的特徵,Query擴充的一些信息也會融進來。說一下不一樣的,我們Query是有地域區分的,例如黃鶴樓,可能在北京搜更多的是一個酒店飯店;但如果在武漢搜的話,其實就是一個景點。模型嘗試的話,(PPT圖示)右邊就是精準化簡單的圖,中間兩層還做了文本分類的模型。

最後再說一下整體的流程。我們的分類目標就是定一些品類體系,用的話,可能就是在流量分發、統計到排序裡面會用;現狀有一些辭典的,解決思路其實就是想通過機器學習的方法來解決。數據準備剛才已經介紹了,特徵工程也說了一下,最後用DN加很多點,在線上我們在旅遊產品上線可以提升5%的水平。

案例2,其實剛才說的美團點評有很重要的數據就是評論。評論可做的事情非常多,比如說下面是我們需要分析的一些評論的數據,我們要做的一些圖譜或者第三方數據抓取的一些數據。我們會對評論展開一些分析,比如說覺得電影不錯,這個首先我們會對它做一個句子的切分做成一個短句,做成一個與各方面的區別。這個時候有一些區別對待,再來區別評論的主題,這個更多的在細密度的操作和對Tag方面的一些理解,包括Tag的抽取,Tag的聚類一些東西。再往下就是整個評論,比如說剛才說的一些評論,評論區的一些聚合,重點就挑評論摘要的分成做一個介紹。

在我們展示的商家裡面,除了Tag之外,可以把用戶評論裡面的一些表述提取出來,輔助用戶做一些決策。當然,這裡面的話,不僅僅可以從評論數據來做,還可以從商家詳情裡面做一些表述,當然它的難點的話,就是摘要生成會遇到一些問題,具體怎麼做呢?簡單說一下,就是大概分成幾個流程:首先對評論做語句切片,在線上展示的時候會有一定限制的。接著做一些情感分析,比如說識別出它的一些正向的評論,因為一般情況下,不會把負向的放裡面,選取有代表性的句子,這個事情已經在我們推進的產品上面。

案例3,語義匹配模型。其實這個是用戶非常多的,只要涉及到文本之間的匹配都會遇到這個問題。比如說Query和Query POI的相似度,比如說搜的是草莓蛋糕,需要和商家的標題做一些匹配;有一些輸入的前綴做一些匹配,還會做一些Query的推進,比如說烤肉,這個是可以做到搜索廣告等排序系統裡面的。

這裡分為四個階段。從我的理解角度,標準化就是把一個文檔分成稀疏的向量算出它的一些權重,匹配通過向量空間得到一個分值,當然矩陣分解也很明顯,比如說同意方面的信息表述比較少,而且它的維度非常大。

如果把巨大的向量拼在一起就變成一個大矩陣,大矩陣我們是否能把這個維度降下來,然後再是引入語意方面的一些信息呢?實際上是可以的,把一個矩陣分成兩個就可以得到它的一些解釋,經典的是1990年左右做LSA方面的工作,存在一個問題就是同義詞可以解決,但是多義詞就沒有辦法了,而且得到矩陣的數值其實沒有太多含義,範圍比較大,這是在實際中不太好理解。

在2000年左右的時候,我們把LSA引入了多義詞的分類。比如說一個文檔有很多主題組成,假設這個組成是符合一個多樣式的分佈,主題會有很多片語成,這樣就可以通過圖模型能夠得到生成一個模型,能夠估計出這三者完整主題詞之間的一個參數。這個其實也非常多,一直到2014、2015年的PPT這些都是相關的,只不過最近被深度學習趕超了。

當然,做過研究的同學都知道,其實它的物理含義是比較明確的。有一個問題就是說它太粗糙了,你用在特徵裡面還是OK;但是如果靠它來做判決的話,是有非常多的問題。因為這個是概率模型,其實首先是假設到底合不合適,還有參數如何來調。

2013年左右代碼發出來之後,就引爆了媒體方面的應用。如果從語義角度來說還是不太夠的,雖然它有一定語義的信息在裡面,實際上學習的目標是語音模型。我們其實非常多的是匹配,匹配這個東西的話,就和任務有關。所以在2013年,微軟的團隊做了一系列的模型,比如說DSSM的一些模型,通過點擊的信息來學習點擊的一些模型,就把這種表示和匹配結合一起來學,這樣非常有針對性,效果非常好。

我們這邊也做了類似的工作,叫做Clicknet,現在已經在美團業務線上都做一些應用,效果非常好。實際上每個階段的東西,在現有系統裡面都有用。

我們說一下語意匹配的模型,我們做的分為三部分,下面有兩層,一層是表示層,中間是學習層,就是設計一個模型來學習它的東西,到底做LP還是做各種非常複雜的東西,在這裡面做一些工作,學習目標比如說你做分類,或者說做其他的一些東西,就看自己的一些目標。

這裡面重點的話,我們設計的特點應該是在表示層,從語意角度會有語意方面,比如說Query語意的一些表示,還有很多業務方面的特徵,比如說O2O的一些特徵,比如說把位置確定和商家之間的距離,如果把它做一種表示和語意結合起來的話,效果就非常好。

還有一些可能把圖像的東西也可以做一個合併,就中間的表示有哪一些方法呢?其實這個就是標準的一些方法了,比如說你對這個詞,把它做一個加是OK的。還可以通過CNN,比如說一個窗口滑動最後得到一個結果,還有可以通過RNN得到一個結果,這也是一個表示,方法是非常多的。

學習這一塊就有一個問題,就是說我們這種匹配語意的表示和各種英文特徵如何做一個組合,其實是完全不同語意的信息,反映的東西其實不一樣。有很多思路,比如說直接把它加在一起靠模型來學它的東西出來,還有一種把它直接放在這裡面來,通過上面分析性考慮它的一些組合的情況。另外還有一個我們要做的一些嘗試,就是通過Dase的思路,通過這個門自動來控制,到底有多少業務信息如何到這裡面,有多少語意信息到這裡面來做推斷。比較簡單的方式就是遞減、遞增的方式等。

On Ginger這個在搜索酒店方面有非常好的應用,後面講旅遊的時候會講到這個模型,我們在系統裡面有很好的應用。

這個東西其實還有很多玩法,除了語意匹配,其實做一些簡單的變化就可以做很多的事情,比如說我們把業務特徵加強,其實就可以做成其他的模型。這個語意弱化,可以把很多業務方收取的特徵做很多域,通過這些加在一起做一個融合,再通過深層神經網路做一個預測,這個就變成了其他的模型。

還有一些可能是跟語意沒有關係的,我們就是想做一個分類,我們把很多的業務特徵展開做一個分類,然後你再做一些調整的話,這是我們2015年做的一個模型,其實2016年有兩個比較好的模型,它是把輸入的特徵分了很多域,每個域有自己的特徵,把FM的一些權重做一個初始化,再往上經過各層得到一個預估,其實他們已經把域的信息引進來了。

還有一個就是在Google在2016年推薦的模型,這個也是把特徵做了一個劃分,哪一些適合做Depe的特徵,分成兩類,比如說時效性比較強的特徵,或者統計的特徵可以把它放在這裡面直接影響它的效果,有一些語意層面的東西,需要很層次的網路理解它的組合,可以把它作為Dest組合,這個思想也很像。

當然,看了這個之後,其實還可以想象一下,為什麼它只是連中外層,其實中間某一層直接連到最外層,其實這個就是能把很多中間抽象的信息做一個比較好的組合,其實裡面的玩法非常多。

剛才說了,ClickNet在美團裡面有很多的應用,比如說我們和XGboast和TF實現的ClickNet對比,ClickNet和線性模型對比,很多是遠遠比它好的,也就是說ClickNet在排序或者分類上面還是非常好的一個項目。

案例4,基於語意表示的Crash在線聚類。其實美團點評會出來一些Bug什麼的,後台會搜集這樣的信息。如果數據量非常大而處理人手不夠,我們想做一些自動歸類的處理,這個是處理過的一些信息。

有一些難點大家可以想象一下,Crash兩端的相似度如何來計算,另外就是說,在線做聚類其實是一個動態的,因為隨著版本的更新,可能以前的Bug解決了,新版本上線之後有可能有新的Bug出現了。所以說這個東西其實還是有一點難度的。

我們的思路是什麼呢?可以簡單的說一下,一個就是基於DNN語音模型學習Embedding然後來算它的相似度,大家寫過代碼的都知道哪一個地方可能出問題了。還有就是業務代碼和系統代碼,比如說美團開發APP可能會調系統級的一些代碼,系統級的代碼出問題的可能性肯定比我們自己業務代碼小很多,這個其實可以做一些區分對待的。

有了這些之後,我們其實可以做一些聚類,能算出它的一些中心,有了這些中心之後,我們會在線的做一些分類,這個策略可能就特別複雜了。

案例5,智能交互。智能交互我們選幾個例子就是客服,我們負責的小美機器人這事情。先說一下大的背景,我們美團點評服務的對象很多,不僅僅是用戶,還有內部的一些員工,商家之類的。員工的話,我們內部其實有很多的東西。商家也會有一些客服的東西。

對用戶除了APP提供一些搜索推薦之外,其實容易被忽略的在售前,比如我們正在研發的外賣交互的機器人。還有一個就是售後,大家擁有的服務之後,可能會遇到各種各樣的問題。基於這樣的問題,我們也會做一些客服,就是針對客服方面的一些事情,因為每天接到的對話數量非常大,人工的成本會很高。

說一下小美機器人。小美機器人是人工客服,一台伺服器能服務幾個人,響應非常快,有一個好處就是可能問題的發現是很方便的。通過分析現有的問題,其實問題都很像。舉個例子,比如說退款未到帳的原因,為什麼退款了還沒有到帳,其實這些表述就是為什麼退款了還沒有到帳,但是人和人的表述是千差萬別的,基於這一點我們可以做一個模型來做客服的事情。這個可能目前藏的比較深了,APP客服裡面藏的比較深。

研發有兩條系統,一個是對內的運營平台,另一個是對外的客服系統。其實用戶會輸入一個問題,幫助我們做一個問題的需求識別,這個會用到一些支持。其實也蠻簡單,就是提取出一些我們感興趣的一些點就OK,根據識別的一些東西之後我們會做優質問題的發回。其實三個問題講的都是一個問題,假如說我們有一個問題標杆的話,我們只要做問題之間的相似度匹配其實就可以達到目的。

有了優質的內容,優質的答案對應也就出來了,因為這個是配套的,通過運營平台編輯之後有了標準答案,把這些答案做出來之後會對答案做一個排序,有比較好的答案之後再往返回給用戶。我們運營平台的話,知識的編輯還有就是內容報表的一個生成,大家可以看到對話解決的一些情況,這個目前解決率超過80%。

總結

我們回顧一下今天我們講的NLP的應用場景,Query商家,用戶大量的UGC評論、客服問答等等很多產品都需要用到NLP的技術,很多點評NLP有一些基礎,還有就是NLP業務場景的應用方面的一些技術。

第三部分就是講了5個比較有代表性的案例,其實還有非常多做的事情,這個Query就是代表分析做了意圖識別的介紹,商加評論我們選取了商家的摘要,在語義匹配這一塊我們介紹了一下語義比配的一些模型,語義表示這一塊我們介紹了Crash聚類,最後就是智能交互裡面舉了一個例子就是客服機器人怎麼做的。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦