天天看點

NLP技術的應用及思考

以下是精彩内容整理:

背景介紹

NLP技術的應用及思考

阿裡巴巴的生态系統下面有很多的計算平台,上面有各種各樣的業務層,最中間是買家和賣家之間包括銷售、支付等等之間的關系,外面建了一圈從娛樂到廣告到金融到購物到物流等等各方面這樣一個生态,中間有非常多的資料能夠關聯起來,是以對于阿裡巴巴而言,這個圖可以非常簡練的概括我們在做什麼,中間是最重要的資料,下面資料包含了最核心的也是阿裡巴巴最早起家的來自于電商的資料,是以電商對于我們而言是非常重要的,後來又擴充出了金融、菜鳥物流、健康和娛樂,比如我們有大文娛事業群,去做了優酷洋芋等各種各樣的資料,資料當中包含了很多的文本。

比如阿裡的電商平台裡面有數十億的商品,每一個商品都包含詳細的标題、副标題、詳情頁、評價區,甚至問答區,這裡面的資訊構成了一個非常豐富的商品資訊,還有上億的文章,阿裡在兩年前開始進入内容時代,比如現在各種各樣的内容營銷、直播還有一些問答的場景圓桌等等,文章裡面可以包含各種各樣的标題、正文和評論等大量的資料,這隻是電商的例子,還有金融、物流、健康、娛樂,加在一起還會有海量的資料,就會孕育出大量文本處理的工作需求。

自然語言處理是什麼呢?

1.語言是生物同類之間由于溝通需要而制定的具有統一編碼解碼标準的聲音(圖像)指令。包含手勢、表情、語音等肢體語言,文字是顯像符号。

2.自然語言通常是指一種自然地随文化演化的語言。例如英語、漢語、日語等。有别于人造語言,例如世界語、程式設計語言等。

3.自然語言處理包括自然語言了解和自然語言生成。自然語言了解是将自然語言變成計算機能夠了解的語言,及非結構化文本轉變為結構化資訊。

  1. NLP的 四大經典“AI 完全 ” 難題:問答、複述、文摘、翻譯,隻要解決其中一個,另外三個就都解決了。問答就是讓機器人很開放的回答你提的各種各樣問題,就像真人一樣;複述是讓機器用另外一種方式表達出來;文摘就是告訴你一篇很長的文章,讓你寫一個100字的文摘,把它做出來是非常難做的;翻譯也是很困難的,英語思維方式和中文思維方式轉換過來,中間會涉及到很多複雜的問題。

    阿裡巴巴需要什麼樣的自然語言處理技術?

阿裡的生态是非常複雜的,我們不能用一個簡單的自然語言處理技術去解決所有的問題,以往自然語言處理是比較簡單的,甚至一個詞表放上去就解決所有問題了,随着電商生态的擴充,就需要非常複雜的技術,是以我們需要完備且高性能的自然語言處理技術,高性能展現在算法精度還有執行效率,IDST的定位如下:

-引領技術前沿-趕超市場最佳的競争者,完備和完善AliNLP平台的技術體系及服務能力;

-賦能核心業務-幫助核心業務快速成長,尋找和解決業務方的最痛點;

-創造商業機會-創造看似不可能的商業技術,深度了解語言,深度了解需求,變革産品體驗。

AliNLP 自然語言技術平台

NLP技術的應用及思考

圖為我們整個自然語言處理平台最核心的框圖,底層是各種各樣的基礎資料,中間層包含基本的詞法分析、句法分析、語義分析、文檔分析,還有其他各種各樣跟深度學習相關的一些技術;上層是自然語言處理能夠直接掌控和變革的一些算法和業務,比如内容搜尋、内容推薦、評價、問答、文摘、文本了解等等一系列問題,最上層我們直接支援大業務的單元,比如商品搜尋、推薦、智能互動、翻譯。商業翻譯和普通機器翻譯是不一樣的,還有廣告、風控、輿情監控等等。這個層次結構是比較傳統的方式,為了讓我們平台具有非常好的落地能力,右邊有一列平台工程,專門解決如何讓算法能夠快速的用到業務裡面去。

NLP技術的應用及思考

将核心框圖細化,底層有各種各樣的資料,比如實體庫、源學辭典、詞性标注庫、詞性關系庫、句法樹庫、情感分析标注庫,還有情感詞典、資訊庫、圖譜等等。這些是詞法分析,包括分詞、詞性、實體識别,拼寫檢查等一些基礎的元件,句法分析有結構句法分析、依存句法分析、語義分布表示等等,還有語義分析,包含詞義消歧、語義角色标注、主題模型、行為表示等。還有文檔分析,比如普通的文檔聚類、文檔分類、事件挖掘、層次聚類和意圖分類,其他部分就是我們嘗試比較多的偏深度學習的一些自然語言算法。

右邊的平台工程我們做了很多嘗試。團隊經過幾年的發展,不停的去反思如何把我們的技術快速的跟業務對接起來,經過不停的嘗試之後,我們做了很多的可視化、需求管理、使用者中心、監控中心、系統運維,還有自動的标注平台、訓練平台、評測中心等等,經過一系列的封裝,才會使得平台越來越完善。

NLP技術的應用及思考

圖為阿裡AliNLP系統架構圖,左邊是算法子產品,包括知識庫、語料庫、算法模型,中間是服務化平台,比如我們的服務分為線上服務和離線服務。離線服務有阿裡巴巴最大的計算平台ODPS,裡面做了很多這方面的UDF操作,線上有HSF和HTTP服務,可以很好的對接各種各樣的相關服務方;中間有使用者中心、監控中心、測試中心、系統運維等比較複雜的一套體系。右邊是我們對接的一套生态平台,上面可以通過我們的接口層直接對接各種各樣的應用。我們疊代了很多輪才出現這樣的結構,現在大概支援30多個業務方,平均每天的調用量在數百億規模。

AliNLP平台核心價值

AliNLP平台核心價值就是解耦。我們希望通過做這樣一個平台,去面對整個阿裡巴巴的生态系統:

算法超市。我們希望平台是NLP算法超市,業務方可以清晰看到分門别類的NLP算法;

工程小白。我們希望平台解決一切工程問題,算法工程師可以是工程小白隻需專注算法研發;

系統生态。對于系統,以此為中心形成一個系統生态體系,從各個環節切入服務NLP算法和業務;

服務底線。對于産品營運,平台隻做底層模型的服務輸出,不直接對接業務。

經過各種各樣的疊代、打磨、思考、反思,5月初會釋出2.0版本,我們希望做持續的改進。我們平台中最核心的三個概念如下:

  1. 模型:最基本的算法邏輯複用單元,如果用算法超市的概念解釋,模型就是原材料,模型是算法工程師的主要産出成果;
  2. 方案:是多個模型的組合,用于真正解決某一方向的具體問題,類似于待售的超市商品。方案是業務、算法的結合之處,我們負責“算法售賣”的同學會應用手頭已有的模型通過不同的組合配置,産生出不同的商品供最終業務方的使用者使用;
  3. 場景:是多個方案線上上部署的最終形态,是最終服務的提供者,是業務方真正使用我們的算法大禮包的地方。按目前的設計,不同的業務方可以在互相隔離的多個場景中使用算法服務。

    隻有了解這三個概念,才會知道平台怎麼去很好的使用。

NLP算法舉例

下面對我們的算法做一些比較簡單的舉例。

  1. 詞法分析(分詞、詞性、實體):

    – 算法:基于Bi-LSTM-CRF算法體系,以及豐富的多領域詞表

– 應用:優酷、YunOS、螞蟻金服、推薦算法、資訊搜尋等

  1. 句法分析(依存句法分析、成分句法分析):

    – 算法:Shift-reduce,graph-based,Bi-LSTM

– 新聞領域、商品評價、商品标題、搜尋Query

– 應用:資訊搜尋、評價情感分析

  1. 情感分析(情感對象、情感屬性、情感屬性關聯):

    – 算法:情感詞典挖掘,屬性級、句子級、篇章級情感分析

– 應用:商品評價、商品問答、品牌輿情、網際網路輿情

  1. 句子生成(句子可控改寫、句子壓縮):

    – 算法:Beam Search、Seq2Seq+Attention

– 應用:商品标題壓縮,資訊标題改寫,PUSH消息改寫

  1. 句子相似度(淺層相似度、語義相似度):

    – 算法:Edit Distance,Word2Vec,DSSM

– 應用:問大家相似問題、商品重發檢測、影視作品相似等

  1. 文本分類/聚類(垃圾防控、資訊聚合):

    – 算法:ME,SVM,FastText

– 應用:商品類目預測、問答意圖分析、文本垃圾過濾、輿情聚類、名片OCR後語義識别等

  1. 文本表示(詞向量、句子向量、篇章向量、Seq2Seq):

    – Word2Vec、LSTM、DSSM、Seq2Seq為基礎進行深入研究

  2. 知識庫

    – 資料規模:電商同義詞,通用同義詞,電商上下位,通用上下位,領域詞庫(電商詞、娛樂領域詞、通用實體詞),情感詞庫

– 挖掘算法:bootstrapping,click-through mining,word2vec,k-means,CRF

– 應用:語義歸一、語義擴充、Query了解、意圖了解、情感分析

  1. 語料庫

    – 分詞、詞性标注資料,依存句法标注資料

NLP技術的應用及思考

有這樣一句話叫“我要買秋天穿的紅色連衣裙”,這句是電商領域中比較常見的,詞法分析結果會把中間“我要”拆開。分詞要分的很準,它不是每個單字都是一個詞,比如秋天是一個詞,連衣裙是一個詞。下面這一層标簽是對應的詞性。上面這一層就是句子樹型結構,它會比較深入的把句子比較深度的結構化。隻有把它結構化之後才能導到資料庫裡面去,才能做後續的各種機器學習研究和應用,這種叫結構句法分析。

NLP技術的應用及思考

對于電商而言,光有句法分析是不夠的,比如我要知道秋天的含義是說這是個适用季節,紅色是一個顔色分類,連衣裙是一個産品,要做到這一步才會使得真正在電商裡面用起來。

比如我們用的是通用領域依存分析器,我們針對商品标題決定某一個依存句法分析器,假設某一個商品标題寫的是“我要買秋天穿的紅色連衣裙”,隻需要把“秋天”、“紅色”、“連衣裙”這幾個關鍵的成分标出來,“我要買”和“穿的”對電商而言是沒有意義的,但會去做進一步的組合。

NLP技術的應用及思考

如果這個句子是一個query,對于某些核心成分一點都不需要,完全不用看,直接會把它輸出“秋天”、“紅色”、“連衣裙”三個串,中間依存關系标出就可以了。這樣可以做很好的資訊凝練。這是我們針對三種不同類型的文本做的很深入的底層自然語言處理分析。

NLP技術的應用及思考

這個例子是一個買家對于某一個商品寫的一個評論,“雖然有點貴,不是很修身,但是顔色很亮,布料摸起來挺舒服的,圖案也好看。挺喜歡的。”,上圖是我們的情感分析結果,我們情感分析不但要知道整句的資訊,比如說整句有藍色、淡藍色,淡藍色表示情感是正向的,整個句子表達的是一個比較褒義的結果,但不是非常滿意。

再下面我們做的更深入一點,比如說貴、修身、顔色等等,做了很細粒度的一個拆解,這種叫屬性級的情感分析。情感詞比如說“貴”它是一個形容詞,貴表達的是相對的關系,有時候說黃金很貴,這時就是一個褒義。是以這個詞語非常複雜,不同環境下褒貶不一。如修身,這個平台裡面表達修身是一個很嚴重的反向關系,是以我們就把它識别出來是個很紅色的關系,隻要經過很深度的細緻分析之後,後面可以做各種各樣的玩法。

應用執行個體

NLP技術的應用及思考

圖中顯示商品标題和副标題。 “2015年秋冬毛衣連衣裙我是證人楊幂同款寬松顯瘦時尚打底針織連衣裙”,它不是一個自然語言的原句子,是一堆詞語拼湊在一起的,副标題就自然一點。因為搜尋引擎以關鍵詞為核心算法,關鍵詞堆砌的話搜尋結果不會往前面排,銷量就不好,是以标題就變成這個樣子了。而副标題沒有應用這種算法,副标題不進索引庫,不能搜尋,隻是一個營銷的額外宣傳語。是以電商的自然語言處理是很有意思的。

NLP技術的應用及思考

對标題做深度了解和分析的時候,我們知道商品的産品詞、款式、材質、風格、服務營銷、适用季節等,做到這種結構化後,就可以把一個文本串變成一個資料庫。

NLP技術的應用及思考

這個擺件的标題也可以做很深入的分析,也可以變成一長串結果,如果你要建一個電子商務搜尋引擎的話,或者電子商務推薦引擎的話,隻有做到這一步,才會使你的引擎更加智能。

NLP技術的應用及思考

标題分析主要分四步:

第一步先做分詞。把第一行變成第二行,打空格用了很多算法、詞表、人工、優化的思路;

第二步是實體打标。需要知道每個詞語是什麼含義,粉紅大布娃娃是個品牌,泡泡袖是個袖型等等,這樣你的搜尋引擎就更加智能一點;

第三步是熱度計算。把熱度分數識别出來,因為串裡面每個詞不是等價的,有些重要性非常高,有些重要性非常低;

第四步是中心識别。我們用依存句法分析方法來做,表達這個句子的最核心關系就是春裝連衣裙,這裡面可以做進一步的簡化,選取合适的某一個次元的資訊。這樣,你的資料庫就非常好了,可以做很多深入的工作。

NLP技術的應用及思考

如果買家寫的原始标題非常長,在PC上顯示一個标題,但是在手機上顯示一長串的時候,就會把标題按照字數限制截斷。你會發現很多截斷本來不應該,截斷之後末尾那一串資訊其實也是蠻關鍵的,我們把它變成如圖一種關系,當買家來看商品資訊的時候,在窄屏的區域裡面能夠很好的顯示出來,是以就會使得我們的銷量包括購買體驗都會提升。

NLP技術的應用及思考

關于輿情文本分析,我們有文本的分類、标簽和文檔聚類技術。假如你在手機淘寶app評價寫了一堆東西,就進入了我們的流程。我們的系統叫摩天輪,會自動的把你寫的每一條評論做各種各樣的分析和處理,包括聚類的和标簽的很細粒度的解析。

商品評價

NLP技術的應用及思考

有關商品的評價,我們積累了幾百億條評論,這是非常海量的一個資料庫。它通過商品的搜尋推薦還有文章的引導,到商品詳情頁之後,有上億的人每一天在看評價,通過看詳情頁之後,你可以去做要麼收藏,要麼放購物車,要麼直接購買的決策,後面才有支付訂單管理,最後還有評價。寫下來評價之後,評價會經過我們的過濾挖掘和展現,再回到詳情頁裡面來,這就是一個閉環。真實評價對購物決策有重要作用,評價作為淘寶最大的UGC,富含對商品的體驗和知識,浏覽評價與否對收藏、加購、下單、客單價均有顯著影響。

NLP技術的應用及思考

上圖為商品詳情頁,下面是正常寫的評論,我們會在上面做大家印象,會把所有的評論做一個綜合的摘取和總結,點選某一個,下面就會變成一堆相關文本篩選出來,并且把那一段描述的文本高亮。

NLP技術的應用及思考

圖為我們的算法總架構圖。如果要做某一個電商類或者某種服務體系的評價系統,可以采用這種模式。左邊是一種溯源的機制,我們希望鼓勵使用者去寫更多更好的評價,包括互動的優化,去提升有用評論的積累。有了資料之後,我們要去做去僞。去僞就是我們有一個評價霧霾工作,會把文本和圖檔的垃圾都去掉,做好之後才能保證資訊是比較真實的。我們會對核心資料庫做語義分析,會結合某一些類目來做,做完之後我們會考慮它的時效性和個性化,還有買賣家模型,再做排序折疊和大家印象的扶優。然後再做增值,我們會有一些比如優質内容庫、推薦理由、評價有賞。通過評價去發現商品的品質好不好,是不是假貨,物流滿意度如何,這裡面可以做很多很深入的分析。

NLP技術的應用及思考

評價霧霾中間是非常複雜的一套體系,有很多工程很多算法疊代了很久,比如說廣告的樣本怎麼采集,有全類目的和分類目的,還有正常廣告的,怎麼去做拆分,有一些基礎特征庫比如使用者特征、文本特征、模型特征、行為特征等做融合,最後再用一個treelink模型,把maxent模型、貝葉斯模型和dbn模型總體做融合,然後再回流,一天一天疊代。

問大家

NLP技術的應用及思考

商品中有另外一個很有趣的産品叫問大家。以買奶粉為例,假如你有五個鄰居,有三個鄰居買過同一款奶粉,你要買奶粉可能希望多問兩家,如果三個人都買過A奶粉,三個人的回答結果綜合看一看,做最終的決策。我們把它做成産品化,那我們做一個問題的拆解分為四類:無效問題、相似問題、問答排序、智能分發。

問大家3個問題解析如下:

無效問題過濾

– 專業的外包同學标注無效問題,Active Learning篩選待标注樣本

– 分類采用LR+GBDT,定制特征

– 無效問題會不斷變種,算法和标注疊代推進

相似問題識别

– Doc2Vec然後計算相似度,人工評測

頁面問答排序

– 内容豐富度、點贊數、過濾詞表比對數等權重求和

– Detail頁透出的一條問大家CTR 提升

内容資訊分析

NLP技術的應用及思考

針對内容我們需要做大量的分析,比如說底層我們有各種各樣的資料庫要彙總,中間有一些文本算法,比如說相關性、時效和品質、CTR預估、個性化、分類、打标、品質和去重等等,中間也有一些系統工程,還有服務體系。上面是業務場景,比如淘秘籍、微淘、淘寶頭條、知識卡片、社群問答等等,會讓你迅速進入一個很好的購物背景知識狀态,使你做更好的購物決策。你可以在手機淘寶搜尋結果頁的第四個Tab裡看到我們的淘秘籍産品。

思考

NLP技術的應用及思考

自然語言處理難在哪呢?它涉及到人的認知,知識<=>語言<=>思考<=>行動,左邊專注到知識,右邊專注到思考和行動。它是非常複雜的,最難的問題有兩個:第一就是歧義,自然語言與計算機語言是完全不可調和的,計算機語言是精确的、可枚舉的、無歧義的。第二是變化,變化是非常劇烈的。它的文法是群體一緻,個體有差異,語言每天都在發生變化,新詞總在不斷的産生,無法窮舉, 不同上下文不同含義,甚至随時間推移,詞義也在發生變化,例如Apple->公司,甚至詞性也在發生變化,如Google ->to google 。

那麼,NLP怎麼走?

在完全搞清人腦機制前,NLP研發永遠是在模拟人類群體智慧在某些文字方面的表現;

這種模仿的效果會越來越好,持續提升;

更深入的模拟是,NLP會和語音、圖像、視訊、觸覺等多元度資訊融合學習。

我們未來會做什麼,我們在一年之内會繼續把AliNLP平台做的完備和完善,開放更多的能力,服務好阿裡的各種生态系統。我們希望調用量能超過千億,兩年之内我們争取能夠對外開放,普惠大衆,更好的開放融合,調用量希望達到萬億,我們希望做的更美好!

上乘:阿裡巴巴iDST 自然語言處理部總監,博士畢業于哈爾濱工業大學自然語言處理方向,曾在新加坡資訊技術研究院工作四年擔任研究科學家負責統計機器翻譯系統的研發和應用,2014年至今在阿裡巴巴iDST擔任資深專家,從零組建了自然語言處理部門,負責自然語言處理技術平台的研發和多項核心業務應用。

本文為雲栖社群原創内容,未經允許不得轉載,如需轉載請發送郵件至[email protected];如果您發現本社群中有涉嫌抄襲的内容,歡迎發送郵件至:[email protected] 進行舉報,并提供相關證據,一經查實,本社群将立刻删除涉嫌侵權内容。