一、人工智能及自然語言智能
什麼是自然語言智能?自然語言智能研究實作人與計算機之間用語言進行有效通信。它是融合語言學、心理學、計算機科學、數學、統計學于一體的科學,它涉及到自然語言和形式化語言的分析、抽取、了解、轉換和産生等多個課題。人工智能無疑是目前非常火熱的研究方向,司羅研究員按照人工智能的發展層面将其分為計算智能、感覺智能、認知智能和創造智能4個階段。
圖 1 人工智能發展層次
計算智能是人工智能中比較基礎的層面,指的是計算機或者機器依靠自己快速的大量計算能力、海量的存儲能力來完成一些人類所不能完成的任務,比如谷歌的Alphago就屬于這類智能。計算智能之上是感覺智能,指的是能夠在廣泛非結構化的資訊中心找到重要資訊的智能,比如在新聞文章中找到人名、地名、組織名等重要要素,又比如計算機視覺能夠通過人臉識别找出人臉ID等等。感覺智能之上是認知智能,它是在感覺智能找到重要資訊之後試圖尋找這些資訊之間的聯系,然後做一些相應的重要推理工作,比如在海量新聞報道中找到重要事件的發生、發展、高潮、過程、結束,又比如通過計算機視覺找到同一個人在不同時間、不同場景下的移動軌迹以及做的事情等。在以上智能的基礎上,更進階的是創造智能,它能夠真的生成複雜的、滿足語義的、符合常理的設想,是屬于進階智能。目前計算機還不能夠寫出非常自恰的小說,如果未來某一天計算機或者人工智能能夠進行非常複雜的科學工作,如數學推理、實體研究等,才能夠稱之為創造智能。在感覺智能、認知智能和創造智能的背後,涉及到大量的語義的了解、常識的推理,而自然語言處理是實作這些高層智能必不可少的技術,也是一個非常有挑戰的任務。
二、達摩院語言技術研發體系
2019年自然語言智能的發展取得了一些重要進展:深度語言模型突破式發展,引領重要自然語言技術取得進展;共有雲NLP技術服務從通用功能走向定制化服務;自然語言技術逐漸與行業/場景緊密結合,産生更大價值。2020年自然語言智能也會朝着這些方向更進一步的發展。阿裡巴巴是一家技術驅動的公司,自然會争做技術的引領者,成立了專注于自然語言智能的達摩院語言實驗室,其目标主要有:
1.建構阿裡巴巴自然語言技術體系,支撐阿裡經濟體語言技術和應用;
2.賦能阿裡巴巴合作者,發展普惠自然語言技術;
3.創新自然語言技術,探索未來智能;
達摩院語言實驗室成立兩年多來,不斷地發展、完善技術體系,在各類國内國際的技術評測中取得了優異的成績,如:2016年ACM CKIM Cup 個性化電商搜尋國際競賽No.1、2017年美國标準計量局資訊抽取英文實體分類比賽No.1、2019年語義了解評測(SemEval)大會上謠言識别和地名分析等4個項目No.1、2020年3月在著名Gluebenchmark語言模型評測集上取得No.1等等。參與這些技術評測的目的不是為了評測本身,而是為了驗證達摩院的技術、完善技術體系,然後把技術沉澱到自然語言技術平台中,賦能阿裡内部的應用以及阿裡的的合作夥伴,創造更大的商業價值。
(一)自然語言技術平台
達摩院語言實驗實驗室依托自己的技術能力打造了如圖2所示的自然語言技術平台。其中,最底層是資料層,收集了包括語言字典、分詞/詞性标注語料庫、實體語料庫、情感語料庫等在内的海量資料;在資料層之上,達摩院語言實驗室建構了完整的NLP基礎算法,從基礎的詞法分析到句法分析、語義分析、文本分析到最後的深度模型的建構都囊括在内;在基礎算上之上是NLP技術的垂直技術,包括内容搜尋、内容推薦、情感分析、商品了解等等;最後,将NLP垂直技術組合起來支援複雜的NLP應用,比如搜尋、推薦、翻譯、廣告等。
圖 2 達摩院語言實驗室自然語言技術平台
(二)翻譯技術平台
自然語言非常重要的一個分支是翻譯技術,它可以幫助我們消除商業交流和溝通中的語言障礙。語料平台是翻譯技術的重要組成部分,包括語料抓取平台、衆包尋源、語料品質評估等;在語料平台之上是多語言NLP技術,包括多語言分詞、中心詞識别、實體識别和拼寫糾錯;在多語言NLP技術的基礎上有了機器翻譯技術,主要包括統計翻譯技術、多語言統一翻譯模型以及最近非常火的神經網絡機器翻譯等等;在機器翻譯技術的支援下,翻譯技術才能夠支撐不同的跨語言解決方案,進而在不同的業務場景中發揮應用,比如電商中标題的翻譯、詳情的翻譯、評論的翻譯等等,在阿裡内部也有非常多的場景應用,包括速賣通、ICBU、菜鳥等,包括阿裡雲的國際化、菜鳥的國際化,翻譯技術都在其中發揮了重要作用。
圖 3 翻譯技術平台
阿裡巴巴的機器翻譯技術支撐了阿裡巴巴内部廣闊的國際化應用場景,支援了70多個業務方,有着超過170個的場景應用,日均調用量達到了10億,積累了大量的語料資料,同時,通過核心的神經網絡機器翻譯引擎來支援了大量重要的工作,創造了數億美元的業務價值。機器翻譯不是為了替代人工,在很多情況下是為了通過人機協同,來提高效率,更高效的完成工作。通過海量的應用場景,這些技術能夠支援更廣泛的國際化場景,讓商業沒有語言障礙,創造更大的價值。
(三)NLP自學習平台
前面的自然語言技術平台和翻譯技術平台都是比較通用的NLP平台,用比較通用的模型來支援相應的工作。然而,在賦能合作夥伴的時候發現各個企業的需求往往是更加多樣化的,且場景化、行業化有高度的定制依賴,很多資料有高度的隐私,并且缺少平台化的解決方案。另外,阿裡的合作夥伴很多隻是使用者,并不是算法的開發人員,是以需要向這些合作者提供面向低算法基礎使用者設計的NLP定制化标注、訓練、預測一體化的服務平台。根據實際場景的需求,達摩院語言實驗室設計了NLP自學習平台。該平台從資料标注開始,提供了相對完整的資料中心來幫助使用者進行标注和做資料質檢,然後使用者可以通過自然語言自學習平台訓練與行業場景緊密貼合的模型,賦能業務,創造商業價值。這樣一個NLP自學習平台友善快捷、易用、成本低且可以取得較高的準确率。NLP自學習平台可以賦能零算法基礎的夥伴們去使用NLP技術,從中獲益,賦能商業,提供NLP基礎平台是非常重要的,目前也有很多廠商提供了類似的平台來加速NLP的商業賦能。
圖 4 NLP自學習平台
目前,達摩院語言實驗室的NLP學習平台的原子能力包括從最開始的文本抽取、文本分類到更高一層的短文本比對、關系抽取以及更加複雜的原子功能,同時也支援包括電商的情感分析、商品評價解析在内的場景化應用,更加複雜的應用比如合同稽核等已經在測試中。
利用文本抽取功能,我們可以對純文字資訊進行提取,抽取其中重要的要素,比如對于合同文本,通過模型的訓練可以自動的提取出合同的名稱、甲方、乙方、收款賬号和開戶行等關鍵資訊,另外對于履歷也有相應的解決方案,可以抽取履歷中包括姓名、學校、專業,甚至工作經曆在内的重要資訊。文本分類是非常重要的一項自然語言技術功能,很多重要的應用都可以看作是文本分類的一個特例,比如對短文本的分類,可以通過對短文本的識别來判斷是屬于涉黃、廣告、辱罵還是涉政,在評價中,可以對評價進行分類來判斷是屬于正面評價還是負面評價。更複雜的原子功能包括關系抽取和短文本比對。通過關系抽取,我們可以在找到重要的實體之後找到他們之間相應的關系,甚至找到多個實體之間的聯系。短文本的比對在許多場景中也有着重要的應用,比如在銀行業務場景的信用卡補卡中,我們可以通過NLP自學習平台的應用來進行問答,判斷使用者的真實意圖和業務需求。
在商品評價的場景應用中,基于阿裡内部平台海量的已标注資料,達摩院語言實驗室訓練了大量的模型,取得了非常不錯的效果,通過建立各行業定制模型,多元度分析商品評價文本,達摩院的NLP自學習平台支援基于使用者自評價次元的商品評價解析模型。
三、語言模型
在技術平台和技術之後,非常重要的基礎是語言模型的建構。語言模型是用來描述自然語言的表示,順序,結構,意義,生成的過程以及如何使用與語言相關的應用任務的技術。傳統的語言模型建構分為兩種:一種是語言學方法,就是使用語言學文法(上下文相關法)來描述正規的語言表示形式和意義,這種方法可以比較好的解釋語言的文法是如何産生的,但是由于語言是在動态的發展中,新語言、新文法、新意義在不斷變化和湧現,純規則的方式局限性大;另一種是資料驅動的方法,也就是通過統計學習或者深度學習的方法,通過大量的語料和一些相關應用任務,學習語言的表示和結構,這種方法因為可以利用不斷變化的語言資訊,利用海量的語料資訊自學習,能夠更好地适應廣闊場景和應用。司羅研究員認為,融合語言學知識,通用知識,領域知識,海量多模态資料資訊的模型才是未來自然語言智能的發展方向。資料驅動的語言模型主要包括統計語言模型和神經網絡語言模型,也是目前語言模型的主要發展方向。
(一)統計語言模型
統計語言模型通知是用N-gram語言機率模型來模組化,預測有時序關系的句子組成結構。這種模型通過MLE訓練,訓練速度非常快,可解釋性強,直覺易了解,但是該模型的視窗隻依賴于前面的幾個詞,如果增大範圍,參數空間就會指數增長,進而造成資料稀疏,比較難處理新詞。
圖 5 統計語言模型
(二)神經語言模型和表示學習
為解決統計語言模型所遇到的問題,學術界提出了神經語言模型和表示學習:對于每一個單元,我們希望在連續空間中為每一個語義單元(如詞)賦予一個向量(如詞向量),通過神經網絡學習這種分布式表征。基于這種向量式的表示,進而可以進行計算、分類等自然語言相關的應用。一個非常經典的例子就是Word2vec模型,該模型中的每一個詞都用一個多元向量來表示,學習詞向量用周圍詞來預測中心詞,這種方法用一個單一的隐藏層來學習向量表示,是以有固有的缺點,比如每個單詞的表征空間是固定的,不随上下文改變;模型簡單,表示能力有限;和下遊的任務連結不足,特别是一些監督語料任務等。
基于Word2vec的以上特點,研究者們提出了深度語言模型,也就是利用深度神經網絡學習利用上下文學習自适應的語言表示。其中,一個比較有名的是ELMo模型,它利用了LSTM網絡,對一個詞左邊的上下文和右邊的上下文都進行模組化,有着非常好得效果,其結構如圖6所示。
圖 6 ELmo模型
另外一個非常火熱的模型是谷歌在2019年提出的BERT模型。BERT模型分為兩個不同的階段:Pre-training階段和Fine-Tuning階段。在Pre-training階段,BERT利用了詞之間的關系和句子之間的關系,用無監督的方法來進行訓練,學習每個句子中每個詞在上下文語義的向量表示。Fine-tuning階段是和下遊任務的結合,把下遊中有監督的一些預料當成我們優化的目标,然後和BERT中的語義表示結合起來,然後進行反向傳播,來改變BERT中的語義向量表示。在BERT的兩個階段中都用到了深度語言模型,而且使用了Transformer架構來完成相應任務。
圖 7 BERT模型
(三)StructBERT
簡單對比BERT和ELMo可以發現兩者都使用深度神經網絡學習利用上下文學習自适應的語言表示,兩者都和下遊的任務相結合來提升模型效果,但是兩者也有一些不同:
(1)BERT使用的是autoencoder架構,使用attention來統一模組化整體資訊,而ELMo對左右資訊分别模組化;
(2)BERT使用Transformer模組化,ELMo基于LSTM/RNN模組化;
(3)BERT較重與下遊任務聯合Finetune,ELMo較輕與下遊任務以特征結合。
結合兩者的特點,如果下遊的任務是比較多的監督語料,一般來講BERT的效果要比ELMo更好一些,因為BERT與下遊更加耦合,更多的進行了聯合優化。
BERT自提出以來收到了很大的觀衆和廣泛的應用,也有不少機構對其進行改進,按摩院語言實驗室在這方面也做了很多的工作,尤其是在BERT的基礎上,我們提出了StructBERT模型。StructBERT模型更加深入的利用了詞之間的關系和句子之間的關系,比如在詞關系中利用了詞之間的位置關系。通過利用詞之間的關系和句子之間的關系,StructBERT模型可以更加有效地訓練詞向量的表示。同時,StructBERT模型還利用了生成式模型和Discriminator模型來提升詞向量的表示效果。目前,在GLUE基準評測中,StructBERT模型排在第一位。
圖 8 StructBERT模型
(四)基于StructBERT的執行個體
基于StructBERT模型為核心,阿裡在很多不同的自然語言技術方向做了一些工作。下面是一些具體的執行個體。
(1)中文StructBERT的Tokenization優化
圖 9 中文StructBERT的Tokenization優化
(2)StructBERT加速——知識蒸餾
圖 10 StructBERT加速——知識蒸餾
(3)預訓練語言模型——融合結構化資訊
傳統的BERT是使用文字資訊,但是在很多場景下我們有更多的資訊加以利用,如結構化資訊。比如表格資訊中往往包括了詞的位置資訊,如果利用OCR來提取資訊,也可以得到相應詞的位置資訊,如果将這些資訊和文本資訊結合起來使用BERT,就更加有利于下遊的任務。
圖 11 預訓練語言模型——融合結構化資訊
(4)機器閱讀了解——多文檔/多段落
将StructBERT模型和多文檔/多段落模型相結合,用于檢索、排序、問答等機器閱讀了解方面,有着極為不錯的效果。
圖 12 StructBERT與多文檔/多段落結合
(5)機器閱讀了解——融合知識
StructBERT也可以和知識結合起來,比如把一些常識性的知識結合到語言模型中,能夠更好地進行分類、問答等任務。
圖 13 機器閱讀了解——融合知識
(6)知識驅動機器翻譯——語言學知識
不同的語言,有着豐富的表達形式,語言學知識通過語言模型能夠更好地用在翻譯場景,比如通過語言模型來學習Compounding、Suffixes等不同語言的特殊表達形式,來提升翻譯效果。
圖 14 知識驅動機器翻譯——語言學知識
四、自然語言和行業場景的結合
自然語言本身的原子能力并不是一個完整的場景,要實作其價值,必須與行業場景結合。在一個企業中往往是有豐富的内部場景,比如電商、客服等等,在社會上也有廣闊的外部場景,比如司法、公共安全、教育等等,通過這些場景可以積累全面、多領域、多語言的NLP資料和知識,基于這些知識和資料來建構NLP的應用技術再将技術反作用于場景,隻有形成這樣的閉環,才能更好的把自然語言技術的價值展現出來。
圖 15 自然語言智能與行業場景閉環
以下是達摩院語言實驗室在一些行業場景中應用自然語言技術的簡單介紹。
(一)電商翻譯業務場景
阿裡巴巴有着豐富的跨境電商場景,自然也需要大量的翻譯工作。在電商翻譯場景,我們需要建立完整的多語言翻譯技術鍊,從商品标題的翻譯,商品詳情的翻譯,到支付場景的翻譯,再到與客戶的交流溝通,都需要翻譯技術的支撐來更好的支援阿裡整體的跨境電商業務。
(二)機器翻譯應用于社交場景:釘釘翻譯
最近,釘釘有了飛速的發展,其國際化業務的開展背後也是由翻譯技術來支撐的。目前,釘釘已經支援了30個互譯語向,有了大量的業務應用場景。當然,在大量應用之後,也會發現一些問題,比如一些口語化的翻譯不夠準确,不能很好的識别語境等等,達摩院也在不斷的優化背後的算法,為使用者提供更好的服務。
圖 16 社交場景翻譯:釘釘翻譯
(三)雲産品
在NLP發展的基礎上,達摩院語言實驗室也與很多行業場景深度結合,打造了很多适合特定場景的雲産品,提供了相應的解決方案。
(1)位址資訊管理系統
位址資訊管理系統主要是對各行業業務系統登記的非标準位址資訊進行糾錯、歸一、階層化等NLP處理,實作标準化位址的生成、比對、管理、應用的體系化系統,以更好地支援物流、工商等場景應用。
圖 17 位址資訊管理系統
(2)事件分析圖譜
事件分析圖譜是在海量的文本資訊中通過自然語言技術實作事件的文本化、結構化、圖譜化,用于資料串并、檢索、推理等場景。
圖 18 事件分析圖譜
(3)雲産品賦能泛通信
在通信行業,利用AI賦能雲通信,助力産品建構差異化的市場競争力,比如通過提供短信内容的稽核的原子能力來幫助提升雲通信的整體能力,未來也會從單一的文本資訊向語音資訊、視訊資訊、國際化資訊發展。該産品在阿裡雲業務中的實驗取得了非常好的效果,提升了業務整體的商業價值。
圖 19 雲産品賦能泛通信
(4)智能司法
随着案件數量的增加,法官數量與案件數量之間出現了不可緩和的沖突,而NLP技術的引入,可以極大的提升司法效率。
圖 20 智能司法
(5)智能合同
司法相關的另一個自然語言技術适用的場景是智能合同。目前,電子簽名、合同管理已經變成了一個非常重要的趨勢,而合同本身的稽核絕大多數還是由律師來親自完成的。通過自然語言智能的賦能,來幫助進行合同的稽核、管理,可以全面提升該項業務的效率。
圖 21 智能合同
(6)智慧醫療
智慧醫療方面也是NLP可以發力的一個場景。目前主要應用于醫療質檢,通過對病曆的醫療質檢,在診前、診中輔助醫生進行治療等等,大大提升醫生的效率。
圖 22 智慧醫療
(7)NLP助力疫情防控
在這次疫情中,達摩院語言實驗室也做了一些基礎方面的工作來助力疫情防控,奉獻自己的一份力量。首先是位址産品在疫情防控中發揮了一定作用。通過NLP技術提取資訊中的位址資訊,來助力疫情防控,典型場景有疫區流入人員分析、關聯人員篩查、疫情外呼等等。其次,面向新冠疫情的醫療機器翻譯在這次疫情中也起到了非常重要的作用,尤其是目前疫情呈現全球擴散的情況下。比如通過醫療機器翻譯引擎,可以更好的幫助科研人員完成文獻翻譯以及詞彙翻譯,減少疫情防控中的語言障礙。最後,在疫情期間,利用NLP技術很好地幫助司法機構進行遠端審判,比如說杭州市上城人民法院和下城人民法院在疫情期間就利用相應的技術完成了多起案件的遠端審判,并且多數情況能夠當庭生成判決書,極大的提升了效率,也為疫情防控做出了貢獻。
圖 23 機器翻譯助力新冠疫情防控
關鍵詞:自然語言智能、人工智能、自然語言處理、機器翻譯、語言模型