語言結構的深層處理是NLP繞不開的坎

泰岳语义工厂發表於2019-02-22

01 語言結構是自然語言的固有屬性

自然語言是非線性的,有其內在結構的。如中文是“SVO”型語言,可以形成“主語+謂語+賓語”的句子結構,可以有多種短語結構,如:

“花貓逮住了一隻耗子” (主謂結構)

“他吃得越來越胖” (述補結構)

不同的句式結構:

“把衣服都洗乾淨了”(“把”字句)

“把小偷打了一頓” (“把”字句)

“我請他作報告” (兼語句)

“先別告訴他比較好” (形容詞謂語句)

不同的句間結構:

“營業員手一扳,轉過櫃檯,竹殼熱水瓶擺到紹興酒罈旁邊,漏斗插進瓶口” (流水句,一個小句接一個小句,每個句子都是獨立的,共享一個主語。)

巢狀的語言結構。如下例是形容詞謂語句,主語是動賓結構。

“先別告訴他比較好” (形容詞謂語句)

不同語言間語言結構也有較大差異。如中文經常使用多個小句串在一起構成複雜句,而同樣的表達,英文中可以對應為介詞短語結構,也可對應為“to +動詞“結構。

“經濟增長連續四年達到或略高於10%,沒有出現明顯通貨膨脹。 ”

“For four years in a row, economic growth has reached or slightly exceeded 10% without significant inflation. ”

“抓緊制定並實施國家智慧財產權戰略,切實加強智慧財產權保護。”

“We will move quickly to formulate and implement a national strategy for intellectual property rights to strengthen protection for them.”

不同語言間結構的差異,對機器翻譯技術有較大影響。

02 深度學習技術對語言結構處理的侷限性

對語言結構的重視程度,在NLP各個發展階段不盡相同。“理性主義”盛行的時代(1960-1980年左右),語言結構作為研究核心,研究和討論的最多,在形式語言理論框架下建立不同的形式化模型,如轉換生成語法、詞彙功能語法、廣義短語結構語法、中心詞驅動的短語結構語法、依存語法、範疇語法、組合範疇語法等。在“經驗主義”統計機器學習的時代(1990-2010年左右),研究重點是語言結構的機率化,出現了基於統計的形式化機制,如HMM(隱馬爾科夫模型)、PCFG(機率上下文無關語法)等。當前,基於聯結的“經驗主義”研究,如 CNN(卷積神經網路)、RNN(迴圈神經網路)、LSTM(長短時記憶模型)、BERT模型等,則較少涉及語言結構,更多的是神經網路的層級和引數量。記得在讀研的時候(1995年左右),NLP研究生都要求選修語言學課程,大家討論的多是“這個動詞短語怎麼處理”、“這個結構中文和英文有什麼差異”。而現在沒人討論語言結構了,討論的是“模型有幾億個引數,訓練了幾百層,涵蓋了多少種語言”,希望一個模型搞定所有結構,所有語種。

毫無疑問,深度學習已成為NLP技術的重要技術。深度學習對語言的處理,基本是在向量化的基礎上,將語言串轉換為線性化的sequence,然後利用相似度等計算,求解sequence的最優解。向量化使用的語言特徵,是簡單的淺層特徵,如詞頻、TF/IDF權值、位置等,在Attention、LSTM等演算法模型中,用到了距離、分層等特徵。但就總體而言,深度學習尚無法有效地表示和處理複雜的語言結構,如述補結構、兼語句等。

甚至在學術界,如何對待語言結構,目前尚沒有達成共識深度學習大牛Yan LeCun將“結構”稱為“必要的惡”,主張使用簡單而強大的神經架構執行復雜任務,不需大量針對特定任務的特徵工程。而史丹佛教授Chris Manning則將“結構”(structure)稱為“必要的善”,積極推動將更多的語言結構融入深度學習。蒙特利爾大學教授Yoshua Bengio認為目前NLP面臨最大的問題是“基礎語言學習,即共同學習世界模型以及如何用自然語言處理中引用模型”,“在深度學習框架內融合語言理解和推理”。

03 泰嶽語義工廠的語言結構處理能力

神州泰嶽人工智慧研究院,與國內著名高校北京師範大學合作,將符號化語義表示與深度學習技術進行結合,形成了自主智慧財產權的智慧語義認知技術。智慧語義認知技術,能有效地識別多種語言結構,實現同一意思、不同結構的歸一化處理;同時對語言結構的遞迴巢狀處理,也表現優異。

1 語言結構的識別

中文的“把字句”、“被字句”等句式結構,本質上是“把、被”這樣的介詞(或功能詞)對句子中詞語順序的一種改變。如“他打碎了花瓶”,我們可以說成“我把花瓶打碎了”,或“花瓶被我打碎了”,而句子的意思基本保持不變。由於“把、被”這樣的功能詞使用的靈活性,一個句子中經常會有多個功能詞出現,對NLP的處理造成了極大的混淆。對帶功能詞的語言結構的識別能力,是NLP的基本能力。

智慧語義認知技術可以有效地處理帶功能詞的語言結構,目前我們已經可以有效識別包含5個以上功能詞的複雜句子。如下面的句子,其中包含有“由、把、在、中、上”5個功能詞,我們可以識別出如圖所示結構,圖1表示出了每個功能詞的層級關係和對句子結構的影響。

“一種由特殊紫外線啟用的粘合劑把感測器殼體固定在中支架上。”

語言結構的深層處理是NLP繞不開的坎

圖1 一個典型的“把字句”的語言結構識別結果

2 語言結構的歸一化

自然語言中,經常選擇不同的詞語或使用不同的詞語順序,來表達同樣的語義。如下面一組句子,詞語的選擇和順序上有較大不同,但表達的是同樣的意思。對這樣的一組句子,我們希望NLP能識別出同一個語言結構,這稱之為語言結構的歸一化。

“泰國隊大敗中國隊”

“中國隊大敗於泰國隊”

“泰國隊大勝中國隊”

“中國隊惜敗泰國隊”

“中國隊惜敗於泰國隊”

“中國隊被泰國隊幹掉了”

“泰國隊把中國隊幹掉了”

智慧語義認知技術,對這組不同的句子,不管其選擇的詞彙是“大敗”,還是“大勝”,也不管句子中是否使用了“把、被”這樣的功能詞,都可以給實體“泰國隊”輸出語義角色標註“RB1”,給實體“中國隊”輸出語義角色標註“RB2”,如圖2所示。

語言結構的深層處理是NLP繞不開的坎

圖2 一組典型句子的語言結構歸一化

3 語言結構的遞迴處理

語言結構是可以遞迴巢狀的,在不同的語言中,巢狀的手段各不相同。在英文中,是用“which、that、where”等從句來引出巢狀。但在中文,卻沒有這樣明顯的標記,處理起來也更為困難。

“可根據由偏航角速度感測器15 輸出的訊號測得的偏航角對各個被監測物件的實際空間位置(X(k)、Y(k)、Z(k))的偏航角進行修正。”

例子中,包含3層語言結構巢狀關係

第一層:

可...對各個被監測物件...的偏航角進行修正

第二層: 在“對”前的“根據...”這個條件語塊中

由...訊號測得的偏航角

第三層: 在“由...訊號”這個語塊中

偏航角速度感測器15 輸出的訊號

這種複雜的語言結構巢狀,在書面語中很普遍,特別是在有專業背景的業務場景中,如公安、司法、專利、醫療等場景。

智慧語義認知技術,對這種具有複雜結構的句子,除了利用詞語組合、機率統計等表層特徵和方法,還加入了遠距離的語義約束計算,以及句子序列的切分和層級處理。目前我們已經可以識別出3層以上語言結構的遞迴巢狀。這一點目前只有智慧語義認知技術能做到。相對來說,目前的深度學習技術,把句子當做一個序列來處理,基本不涉及序列的遞迴處理,因此,對語言結構的遞迴處理能力較弱。

04 語言結構的處理是NLP的核心能力

語言結構的處理,是對語言固有屬性的認識與挖掘,也理應是NLP的核心能力。對語言結構的有效處理,不僅可以提升NLP在歸一化、遞迴處理等方面的能力,而且可以把包含在複雜語言現象下的語言特徵,像剝洋蔥一樣,一層層開啟,這將大大增強NLP的可解釋性。

複雜語言結構的處理能力,作為智慧語義認知技術的核心能力,已經成功應用到了公安、金融、司法等多個實際場景中,其處理結果的可解釋性,得到了業務使用者的普遍認可。智慧語義認知技術在NLP的可解釋性上已經有了很好的基礎,日前推出的泰嶽語義工廠SAAS服務平臺,將把這種核心處理能力,與我們在16個行業領域積累的演算法、模型開放出來,賦能更多的行業合作伙伴。

作者:晉耀紅博士,神州泰嶽首席科學家,人工智慧研究院院長,北京師範大學教授,博士生導師。

泰嶽語義工廠
泰嶽語義工廠

泰嶽語義工廠是神州泰嶽推出的NLP服務的開放SaaS平臺,旨在為企業客戶和行業應用開發商提供最專業、最快捷、價效比最高的NLP技術和服務。該專欄聚焦於介紹神州泰嶽智慧語義認知技術和泰嶽語義工廠提供的NLP服務。

http://www.nlpai.cn/
專欄二維碼

相關文章