「自然語言處理」又稱為 NLP(Natural Language Processing),為近年來十分熱門且挑戰性十足的研究領域,針對不同的任務類型,我們會選擇不一樣的解法以達到最佳表現成效。舉例來說,目前的 DL 模型擅長解決類似選擇題的分類問題 (Grouping Problem),提供兩篇新聞,讓模型判斷這兩篇文章是否相似、同一類型與否。但如果要讓它判斷兩個句子是否有前後文的邏輯因果關係,或是不同語句的語意是否相同,對 DL 模型而言是困難的。
因此,如果嘗試從語言學的觀點切入,將語言學知識與 AI 結合混合模型,也許能替我們找到更多的答案!
卓騰語言科技負責人王文傑具有語言學背景,目前是卓騰語言科技的負責人及核心開發工程師,同時跨足傳統眼光中的「文」與「理」的職涯發展,致力於打造中文資訊處理的文字和語音基礎建設,促成「具人類思維方式」的機器心智。
王文傑認為,語言知識的邏輯應用與人工制定的規則,跟機器學習並非對抗而是混合(Hybrid),是將語言知識加上了資料訓練的長處,做出來混合模式的應用。
借用語言專家的知識
什麼是混合模型?主要是結合了該領域專家的知識,例如「我去買了一台蘋果」跟「我早上吃了一顆蘋果」,這兩個句子中所提到的蘋果究竟電腦還是水果?如果是透過人工智慧的話,就會利用sequence-to-sequence或是BERT去往旁邊找,找到失誤層後再訂出一個很高維的模型;但語言專家的判斷更簡單,以中文來講,要知道是吃的蘋果,還是用的電腦,只要往前看一個字就可以了,一「顆」蘋果那是水果,一「台」蘋果那是電腦,再往前不管是買還是吃都不重要了。如果有了語言專家的知識,就可以緩解我們對資料的飢渴,只要小小資料就可以開啟專案。
但不表示我們完全不需要資料,還是需要提供少量的資料,而Hybrid的特點是「具有可解釋性」和「快速疊代修正」的特性,例如在中文描述使用的量詞,水果就是用顆、粒、串等字,;描寫電腦的話,就是台、部等字,讓使用者可以知道模型下判斷的依據。從這個例子來看,只要使用兩個句子,也就是只要擁有小資料就可以啟動專案,減少企業受限於資料輛貨品質而無法開啟專案的困難度。
啟動專案後,隨著資料量慢慢累積,可以慢慢加入數據量,並且加入深度學習、機器學習的模型,就組成一個Hybrid的系統了。
什麼是專家系統?
什麼叫專家?王文傑說:「能看得出眉角的叫專家!」素人眼裡一切隨機且混亂的情況,在專家的眼裡是有規則可循且具結構性。例如我們看蜂窩上的蜜蜂,會覺得牠們在亂動;但是一個專業的昆蟲專家,可以從中看出蜜蜂的各種行為模式。
其實,每個人內心都有一部份是專家,例如人類天生具有辨識空間以及語言的能力,可以辨識什麼是語言,什麼不是語言。在語言學家眼裡,語言不是「非結構化」的資料,任何一句話都符合Xbar的句法樹,並從句法樹中掌握到句子的重點。假設有人講了一句完全違反句法樹的句子時,你會發現這個句子怪怪的,聽不下去。假設我說:「椅子一把我坐天看。」原句是:「我坐一把椅子看天。」當語句順序顛倒沒有符合句法樹時,你就無法了解句子的意思,必須要把句裡的每個位置放對,句子才有意義。
這個句法樹是人類腦子裡內建的,所以我們知道語言是有結構的。因此,原本的Machine learning、deep learning需要很多的資料才能訓練模型,但是,當我們知道語言是有結構的後,做的事就不一樣了。
所有的數學應用問題都有一樣的結構?
下圖是三個數學應用問題:
前面的兩題分別是國小二年級和國小三年級的題目,第三題則是國中二年級的題目,看出端倪了嗎?
所有的數學應用問題都有固定的三個結構,首先會有個「限定語境」說明事情發生在哪裡,第二個「說明操作的語句」則是要說明發生了什麼事?第三個部分則是「你要問什麼問題?」當我們知道一個句子是這些結構的話,就可以掌握什麼地方是句子的重點。
所以我們就根據這個原理做了一個「以語言學理論為基礎,用非機率模型建立的數學應用問題作答系統」,我們的良率非常高,只需要138個題目進行訓練就可以得到98.57的正確率。之後我們就發展出了「Loki算數學」這個應用。
除了數學應用題有結構,自傳也有其結構,甚至其中的語句也都有自己的結構。正因為自傳有結構,所以我們才可以提供書寫的建議。通常我們不會建議散文怎麼寫,因為散文較沒有結構。所以,我們也做了一個「自傳仙貝」的應用,告訴你自傳中哪些語句要調整,哪些資訊需要補充。
前面Loki的系統就是以語言學做為基礎,限縮了語句中發散的可能性,本來需要很多的資料才能夠確定某句話的意思,語言學就只要透過前面的幾個字就知道了。
為什麼我們可以做混合模型,因為我們具有語言學背景,了解所有的文章都有結構,知道人類的每一句對話都有結構,只要給我句子,就有辦法掌握關鍵資訊。
兩大關鍵幫助NLP 應用落地
NLP 應用該怎麼落地?王文傑說,首先要用對的NLP的工具,找對領域專家;第二個是使用領域資料而不是通用型的大數據集。如果使用通用型的大數據集會發生什麼事呢?他舉例,就像我們要求大家把手中的企鵝照片交出來訓練後,當我們問「企鵝生活在哪裡?」得到的答案可能是動物園,而不是南極,因為大家都去動物園拍企鵝,所以企鵝都在動物園裡。
如果不用通用型大數據集,只用領域資料的話,量雖少但是質量是高的,再配合領域專家的解釋,就可以做出來可應用的東西。王文傑說,我們真正業務的應用目標在,打造一個Hybrid的系統,可以達成每一個步驟都有解釋性,可以讓你在被客戶詢問為何被模型拒絕時,告訴他發生什麼事。