干貨 | “NLP”與“語言學(xué)家”的那些事兒!

想象一下,假設(shè)時光倒流回十年前,或者二十年前,能否想象突然之間沒有了手機(jī),沒有無線網(wǎng),沒有所有電子設(shè)備的生活嗎?

這可能會很困難。

其實(shí)在不知不覺中,我們已經(jīng)被裹挾在信息浪潮中,已經(jīng)處在一個知識,傳播更新迭代非??焖俚臅r代。所以“AI”,它不是一個追求,一種新鮮或一時的刺激,而是真正未來的方向,一個剛需。

同樣,“語言”是非常重要的,在所有的生物中,只有人類是真正意義上具有語言能力的,所以人工智能最重要的一個關(guān)口,就是可以感覺到它應(yīng)該像一個人類。如果連最核心的語言關(guān)都沒有辦法攻破的話,怎么樣去實(shí)現(xiàn)所謂真正的智能,顯然這是不可能做到的。而如今許多“NLP”的研究者都在引入一些語言學(xué)的知識來幫助他們提取更多的訓(xùn)練特征,提供更靠譜的思維角度。

接下來這一點(diǎn),其實(shí)是學(xué)科上的一個空白,如果平時我們積極關(guān)注科技領(lǐng)域,會發(fā)現(xiàn),主要力量是計(jì)算機(jī)專業(yè)或者相關(guān)學(xué)科背景的人,在為科技發(fā)展做貢獻(xiàn),而語言學(xué)學(xué)科背景的人士,更多去專注于翻譯和教育這兩個方向,把語言當(dāng)作工具使用。所以在未來,我們或許需要一個跨學(xué)科的合作。

而且自然語言分析有兩個方向,一是理解,首先機(jī)器要能夠懂得人類的語言。另外一個方面,就是機(jī)器要能夠自己去表達(dá)思想。

而這兩個方面,都是很困難的,如果沒有投入極大的精力,還有專業(yè)的支撐,可能就是閉門造車。如果這個行業(yè)只有計(jì)算機(jī)相關(guān)的人員在參與在內(nèi),他們大概只能夠做到不斷的去優(yōu)化和提升技術(shù),但是對于真正需要應(yīng)用的,**尤其是語言領(lǐng)域等核心問題,大部分人是沒有涉獵的。所以這是作為文科背景的同學(xué)們也是可以選擇AI行業(yè)的重要原因。

以智能客服為例,如圖所示,首先左邊是用戶的輸入,當(dāng)用戶輸入接進(jìn)來了之后,需要通過“naturAI language understanding”,也就是“自然語言理解”形式去對它進(jìn)行初步的處理,經(jīng)過這樣的一個步驟,把分析好的信息,交接到下一個“diAIog manager”,就是“對話管理模塊”,由模塊去判斷我們對話的狀態(tài),以及調(diào)用“knowledge graph”知識庫的這些知識。

從這個里面正確的得到了一個非常簡單初步的信息,但是簡單初步的信息,顯然是沒有辦法直接拿給用戶的,那么也就到了下面一個關(guān)鍵的節(jié)點(diǎn),就是“NLG”。

“NLG”,自然語言生成。

到達(dá)這一步后,把非常粗糙的方面,處理成為易懂并且自然流暢的語言,最后再進(jìn)行輸出。在這整個流程中間,最關(guān)鍵的是“NLU” “DM”還有“NLG”,這三個模塊,也就是我們自然語言分析處理,應(yīng)用的最核心的幾個板塊。

逐步介紹。首先第一個板塊是“NLU”,自然語言理解。顧名思義,首先應(yīng)該有理解,理解之后才可以分析,才有輸出,這是要邁出的第一步。

如圖所示,右邊有三個例句,“預(yù)約一下周日上午的小時保潔。”“可以幫我叫家政阿姨來我家嗎?”“應(yīng)該找個鐘點(diǎn)工來打掃衛(wèi)生?!?/p>

大部分人會產(chǎn)生誤解,會覺得機(jī)器的理解是不是和機(jī)器翻譯一樣,看一下這個詞,然后組合去進(jìn)行理解?其實(shí)不是的,機(jī)器理解,它每個詞的確切含義,對它來說并不重要,重要的是這整一句話的意思。為了使機(jī)器能夠進(jìn)行處理,首先是通過語義分析,然后再進(jìn)行轉(zhuǎn)換。

回顧一下這三句話。經(jīng)過思考之后,會發(fā)現(xiàn)這三句話想表達(dá)的是同一件事情。在這時候,“NLU”要做的事情是什么?

首先第一步“領(lǐng)域識別”。舉個例子,假設(shè)我們現(xiàn)在是淘寶的客服,這個時候,用戶進(jìn)來直接說“宇宙會不會爆炸?”那么馬上就會進(jìn)行判斷,這是一個領(lǐng)域外的問題,可以用其它系統(tǒng)進(jìn)行篩選攔截之類的,不會讓它進(jìn)入到后面的流程中去。

第二步是“意圖的抽取”,理解分析用戶到底是什么意圖。

當(dāng)前兩個步驟順利完成了之后,第三點(diǎn)就是槽位的填充。再次回顧一下之前的三句話,其實(shí)信息最完整的是第一句話,因?yàn)橄旅鎯删湓挘m然也表達(dá)出了,要預(yù)約一個保潔來家里的信息,但是并沒有說清楚時間。當(dāng)我們對下面兩句話進(jìn)行分析的時候,走到槽位抽取的步驟,會發(fā)現(xiàn)槽為空。而第一個就不一樣,第一個首先可以抽到一個槽位,是服務(wù)類型,還有服務(wù)的時間,這樣的槽位是滿的,接下來就可以直接做處理。

“NLU”現(xiàn)在有兩種方法,如圖所示,它非常簡單,在答案非常單一,場景同樣單一的情況下,用簡單粗暴的一些規(guī)則形式,去進(jìn)行一個匹配。但是右邊模型的處理方式卻不太一樣,模型是非常依賴前期大量的數(shù)據(jù)標(biāo)注的。這兩種方法各有利弊。

如圖所示,假如現(xiàn)在有非常迫切的需求,比較緊急,那么首先可以考慮用左圖規(guī)則,因?yàn)樗⒉恍枰捌跍?zhǔn)備數(shù)據(jù)之類的步驟,但是它的容錯率會非常低,靈活性也很差,而且一旦出現(xiàn)更新之類的過程,維護(hù)迭代同樣非常困難。

右邊模型的形式,雖然在前期可能會耗費(fèi)大量的精力,去進(jìn)行標(biāo)注,還有分析,但是相對于左邊就會非常靈活,覆蓋度廣,非常準(zhǔn)確,而且它的針對的場景,也可以更復(fù)雜一些。

接下來,“DM對話管理”,它是對話系統(tǒng)的一個大腦,維護(hù)更新對話的狀態(tài),基于對話狀態(tài),選擇接下來最合適的一種動作。

舉一個例子,某位用戶說“幫我叫一個車回家”,在這種情況下,系統(tǒng)的動作可能向用戶詢問“幾點(diǎn)出發(fā)”,或者“您的出發(fā)地和目的地分別是什么”。

假如用戶說的很清楚明白,例如“明天早上8點(diǎn),幫我叫一輛從家里出發(fā)到公司的車”,那么這個時候DM的處理方式,就是直接為用戶叫車。

最后,“NLP對話生成”。

舉個例子,之前有一則社會新聞,講述機(jī)器可以自動寫小說,雖然很驚訝,但是隨后發(fā)現(xiàn)機(jī)器用了一些非常稀奇古怪,甚至不能稱之為句子的語言拼湊了字?jǐn)?shù)組合在一起。當(dāng)然這些都是噱頭,機(jī)器目前并不能做到人類真正意義上想要看到的文章。

機(jī)器學(xué)會自己去表達(dá),是需要非常多的準(zhǔn)備,比如今的理解認(rèn)知還要更復(fù)雜一些,首先要將知識比較完整的收集整理,然后選一個合適的形式,存到計(jì)算機(jī)系統(tǒng)里,并且還要有效的,去利用它們,如果個別環(huán)節(jié)出錯,可能會導(dǎo)致前功盡棄。這一部分,需要語言學(xué)的應(yīng)用非常多,一個文本一個字符串,是有很多含義的,一對多,多對一既是自然語言最大的魅力,也是現(xiàn)在進(jìn)行分析處理最主要的障礙。

在自然語言生成的過程中,“應(yīng)該表達(dá)什么”和“應(yīng)該怎么樣去表達(dá)”這兩種方面是非常重要的,但是卻普遍忽略了另外一個問題,就是“為什么要用這種方式去表達(dá)”這同樣是非常具有價值的一個角度。

到底有什么機(jī)遇和挑戰(zhàn)?首先在NLU之前,有一個非常必要的,同樣關(guān)鍵的流程,就是標(biāo)注。假設(shè)某位用戶,輸入是“燈泡不亮”,四個字,現(xiàn)在要根據(jù)這個現(xiàn)象進(jìn)行標(biāo)注,應(yīng)該怎么標(biāo)呢?可能有人會標(biāo)停電了,或者標(biāo)燈絲燒斷了等,大概率的人都會以這個思路去走。

如圖所示,左邊這一圈白字,其實(shí)都是有可能造成燈泡不亮的原因,既然這么多原因都能對應(yīng)到燈泡不亮,那么就不能在一開始,就預(yù)判他一定是其中哪一種,把范圍定位的太窄,就會造成很多的錯誤。

如圖所示,右邊板塊,我們需要做一些預(yù)判和優(yōu)化,在對話系統(tǒng)中,我們要及時的發(fā)現(xiàn)用戶是否偏離,狀態(tài)是否異常,如果存在異常,就可以考慮是否主動結(jié)束話題或者轉(zhuǎn)換話題。

在未來,機(jī)器人如果學(xué)習(xí)了這樣一種處理機(jī)制的話,對話才是比較智能的,甚至可以預(yù)判客戶的真實(shí)的需求,我們也可以更好的引導(dǎo)。

在做自然語言處理的時候,需要面對三個問題,一個是體系的建立,一個是數(shù)據(jù),還有一個是算法,這是對話機(jī)器人痛點(diǎn)。

這里存在一個很有意思的現(xiàn)象,語言學(xué)科背景的語言學(xué)家們在此領(lǐng)域是無處不在的,并且可以參與到各個環(huán)節(jié)當(dāng)中,例如智能音箱,語音助手等,它是把語音轉(zhuǎn)化為文字,然后再輸出,再把文字轉(zhuǎn)回語音,等于在大框架里,接入了一些語音技術(shù),變成了一個語音助手的形式。很多人覺得就只能處理語言,就只能文本,是不是范圍太窄了,其實(shí)并不是,我們現(xiàn)在能夠看到的,背后真正的核心就是“NLU”,“DM”,還有“NLG”三個模塊。

其次是“檢索”,通過“命名實(shí)體識別”,就可以找句子里我們所需要的最關(guān)鍵的信息,例如做售前售后工作的人士,可能比較關(guān)心是設(shè)備型號,再例如智能音箱,大家用的最多的功能比如播放歌曲,或者城市溫度等,這些都是可以通過檢索的形式實(shí)現(xiàn)的。

所有的產(chǎn)品,其核心都是以用戶需求出發(fā),如果把握住這一點(diǎn),很多問題都會簡單化。

至于對話機(jī)器人,它承載了一個全新的交互形式。雖然道路有些漫長,但是我們已經(jīng)在路上。有大部分人不是專業(yè)計(jì)算機(jī)專業(yè)出身,加入智能領(lǐng)域,會極其不自信,“是不是會沒有幫助?”“專家根本會不會看不起我,不讓我入行”,這些顧慮都是沒有必要的,首先一定要去進(jìn)行了解,很多恐懼,都是因?yàn)槲粗a(chǎn)生的,如果認(rèn)真的進(jìn)行了解,就清楚自身能力能發(fā)揮哪些作用,平時學(xué)會多思考,這個,才是最重要的。

如果把“AI”,比作“飛機(jī)”的話,它處在“引擎”很關(guān)鍵的位置,我們的目標(biāo),就是用我們對語言天然的敏感,用語言學(xué)相關(guān)的知識讓機(jī)器去理解和學(xué)習(xí)人類的語言,同時這些文本可以發(fā)揮最大的價值,只有做到了這一點(diǎn),真正的“智能”才會變?yōu)椤翱赡堋薄?/strong>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容