人工智能中工程化的NLP如何確保落地?
NLP的工程化,不是一個個算法的累積,也不是一個個任務的獨立優(yōu)化,而應該是系統(tǒng)工程,綜合考慮語言、計算、場景等多種因素,不斷演進融合,尋求效果滿意解的過程。根據赫伯特.西蒙(圖靈獎和諾貝爾獎雙料得主)的有限理性模型,受到所處環(huán)境的高度復雜性和有限的信息加工能力限制,因此NLP應用落地時,我們不可能遵循”最優(yōu)化“的策略,而應該以獲取當前可接受的“滿意解"為目標。"最優(yōu)解"可以作為實驗室環(huán)境下的研究目標,而”滿意解“是工程化的條件下我們唯一的選擇。
我們提出了“語言、計算、場景”三角形滿意解的NLP工程化技術路線,希望從工程化的角度,綜合語義的符號化表示、傳統(tǒng)語言學的知識表示、深度學習的算法模型等多種技術,在具體場景需求的約束下,尋找NLP工程應用的滿意解。
最小化的語言特征是基礎的語言資源
基礎的語言特征是有限的,否則,語言將呈不穩(wěn)定態(tài),人們之間互相理解語言也將不可能。基礎語言特征,包括詞庫、詞匯的句法語義屬性、詞匯之間的關聯性(同義、反義、上下位)等。比如,“打敗”是一個動詞,“高興”是動物的一種情緒,“勝利”和“失敗”的反義關系,“勝利”和“打敗”的同義關系等。這些詞語的意思和它們之間的關系,無論在那個行業(yè)場景中都是基本不變的。
我們已經構建了中文、英文的基礎語言特征集,其中包括80000多個常用詞匯,覆蓋了大部分常用詞匯。據統(tǒng)計中文常用的5萬個詞可以覆蓋人民日報新聞用詞的99%。基礎的語言特征集是分類的,比如針對情感計算的基礎語言特征中包含了140多種情緒。
基礎的語言特征集,必須通過人工方式構建。我們有30多人的語言學團隊,經過長達10年的積累,已初步構建完善。
語言特征的泛化是必需的計算技術
語言的使用是動態(tài)的,特定場景下的新詞、新用法會層出不窮的出現。比如“深度學習”原來不是一個詞,但近幾年被廣泛使用,特指一類神經網絡算法。這一類的特征表示,可以采用機器學習算法(包括深度學習),從真實語料中自動學習,對基礎語言特征進行擴充和泛化。利用機器學習算法,也可以進行同義詞的泛化,比如“查看、查查、查一查、查詢一下、查尋一下”等是“查詢”的同義詞。同時,也可以開展詞語關聯的泛化,比如“馬云-阿里巴巴”的關系和“馬化騰-騰訊”的關系類似等。
機器學習得到的新詞、新用法,可以通過相似度計算等算法,將學習結果與基礎語言特征對齊,以獲得新詞對應的語言屬性。比如“深度學習”是一個名詞,是“算法”的下位,與“神經網絡”同義等。對齊操作保證了泛化特征的一致性。
語言和算法的有效結合是關鍵
根據每一類語言結構的特點,有指導的選擇算法。比如,對于漢語的流水句的處理,哪些語言特征是流水句的激活特征,流水句是否適合LSTM算法,哪些特征參與LSTM的運算等。而不是針對所有句法結構,采用一種LSTM模型來進行句法分析。
語言結構因為其動態(tài)性,不適合把結構本身作為機器學習的輸入,而應該在輸入側,通過語料標注或規(guī)則設計,把結構進一步抽象成為一個更抽象的特征,輸入給機器學習、深度學習算法。如在形容詞謂語句的分析中,“形容詞短語”作為一個抽象特征,輸入給句子分析算法,而不用關心“形容詞短語”是用什么算法得到的。相反,機器學習算法的輸出,必須以語言特征或語言結構的形式,這樣才能保證結果的可解釋性。
我們認為,深度學習只是NLP算法庫中的一部分,也許只在某一個具體的環(huán)節(jié)中效果最好,對機器學習(深度學習)算法的“有的放矢”的使用,是NLP工程化的關鍵。
應用場景是無法回避的約束條件
應用場景是NLP應用的需求和使用環(huán)境,不同的應用場景,其約束條件是不同的。有的場景是處理營銷數據的,有的是處理客服數據的;有的場景可以提供大量的標注數據,有的只能提供有限的業(yè)務規(guī)則;有的場景是同步的,有的是異步的。NLP應用必須在滿足場景約束的前提下,選擇處理流程、計算算法、語料資源等內容的配置。比如,對同樣一批數據,同樣一個文本,營銷場景和客服場景的輸出要求完全不同,所用算法也可完全不同,客服場景可以用分類算法,但營銷場景也許需要用抽取算法。
很多NLP應用場景下,客戶都希望在很短的時間內、在沒有訓練語料的情況下,快速看到NLP應用的效果,實現“冷啟動”。比如某電信企業(yè),客服的動單分類有 2000 多項。電信自己整理了3個多月,每一個分類下的數據都很少,但電信也不可能在每一個細分小類,都幫助我們訓練出那么大量的數據,提供給機器學習算法訓練。
“冷啟動”的關鍵是規(guī)則方法與機器學習方法的有效融合。第一步,采用規(guī)則方法,構建一批應用規(guī)則,對應用場景下的典型語料,進行規(guī)則分析,針對性的獲取特征,并對典型語料進行標注。第二步,把典型語料的標注數據,作為機器學習算法的樣本,利用各種機器學習(深度學習)算法去做擴充、泛化。對泛化的結果,采用抽樣方法,進行人工校驗,加入到典型語料中去。這樣循環(huán)處理,形成一個良性循環(huán),不斷的逼近客戶要求。
NLP工程化的目標
NLP系統(tǒng)的開發(fā)與應用,既需要尊重語言學知識,以語言學知識為指導,又需要充分利用機器學習(深度學習)技術的計算優(yōu)勢,以機器學習為工具,持續(xù)迭代發(fā)展,才能在工程應用中發(fā)揮NLP的能力,實現滿意解。
NLP工程化期望達到以下目標:
(1)可解釋性,NLP系統(tǒng)輸出的結果,應該符合基本的語言學規(guī)律,可以用語言學的術語進行解釋,而不是給出一堆雜亂無章的數據,讓用戶從沙海淘金。
(2)一致性,NLP系統(tǒng)的處理過程,應該是隨著處理對象的層次和深度,而逐步疊加模塊,下級模塊使用上級模塊的結果,方便進行優(yōu)化。而不是針對每個任務,采用“一竿子插到底”的復雜算法,中間過程完全是黑盒子。
(3)即用性,NLP系統(tǒng)的應用,需要做到即插即用的“冷啟動”,或者是在很小的數據集上進行規(guī)則表述和預訓練。一切需要用戶標注海量數據,才能啟動的NLP系統(tǒng),都是耍流氓。
(4)可遷移性,NLP系統(tǒng),應該在不用大的改動前提下,即可遷移到類似場景。而不應該是千人千面,過分個性化。
(5)自知之明,NLP系統(tǒng)的終極目標是做到自知之明,系統(tǒng)對輸出的結果應該有明確的置信度,哪些結果一定保證是對的,哪些一定是不對的,哪些是不確定,需要人工干預的。有了可靠的自知之明的能力,NLP系統(tǒng)才具備了達到人類理解水平的基本條件。
近兩年很多媒體報道,計算機在閱讀理解、機器翻譯等領域超過了人類水平,其實是媒體的一種夸大其辭的誤導,計算機只是做了端到端的匹配,匹配結果與標準答案做了個百分比的統(tǒng)計。計算機對閱讀理解的內容一無所知,對匹配結果的對錯毫無概念,從自知之明的角度衡量的話,計算機的水平可能還達不到小學一年級學生的水平。
語言理解是人工智能皇冠上的明珠,要達到真正的理解能力,道阻且長;正確處理好語言、計算、場景的融合,NLP技術已經可以在非結構化轉結構化等應用方向上大展宏圖,取得巨大的商業(yè)價值。
自知之明的NLP終極目標,任重道遠,我們將與您一路同行。(作者:晉耀紅)

請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
-
7月8日立即報名>> 【在線會議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯
-
7月22-29日立即報名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7月31日免費預約>> OFweek 2025具身機器人動力電池技術應用大會
-
7.30-8.1火熱報名中>> 全數會2025(第六屆)機器人及智能工廠展
-
免費參會立即報名>> 7月30日- 8月1日 2025全數會工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
推薦專題