想象一下,假設(shè)時(shí)光倒流回十年前,或者二十年前,能否想象突然之間沒有了手機(jī),沒有無線網(wǎng),沒有所有電子設(shè)備的生活嗎?
這可能會(huì)很困難。
其實(shí)在不知不覺中,我們已經(jīng)被裹挾在信息浪潮中,已經(jīng)處在一個(gè)知識(shí),傳播更新迭代非??焖俚臅r(shí)代。所以“AI”,它不是一個(gè)追求,一種新鮮或一時(shí)的刺激,而是真正未來的方向,一個(gè)剛需。
同樣,“語言”是非常重要的,在所有的生物中,只有人類是真正意義上具有語言能力的,所以人工智能最重要的一個(gè)關(guān)口,就是可以感覺到它應(yīng)該像一個(gè)人類。如果連最核心的語言關(guān)都沒有辦法攻破的話,怎么樣去實(shí)現(xiàn)所謂真正的智能,顯然這是不可能做到的。而如今許多“NLP”的研究者都在引入一些語言學(xué)的知識(shí)來幫助他們提取更多的訓(xùn)練特征,提供更靠譜的思維角度。
接下來這一點(diǎn),其實(shí)是學(xué)科上的一個(gè)空白,如果平時(shí)我們積極關(guān)注科技領(lǐng)域,會(huì)發(fā)現(xiàn),主要力量是計(jì)算機(jī)專業(yè)或者相關(guān)學(xué)科背景的人,在為科技發(fā)展做貢獻(xiàn),而語言學(xué)學(xué)科背景的人士,更多去專注于翻譯和教育這兩個(gè)方向,把語言當(dāng)作工具使用。所以在未來,我們或許需要一個(gè)跨學(xué)科的合作。
而且自然語言分析有兩個(gè)方向,一是理解,首先機(jī)器要能夠懂得人類的語言。另外一個(gè)方面,就是機(jī)器要能夠自己去表達(dá)思想。
而這兩個(gè)方面,都是很困難的,如果沒有投入極大的精力,還有專業(yè)的支撐,可能就是閉門造車。如果這個(gè)行業(yè)只有計(jì)算機(jī)相關(guān)的人員在參與在內(nèi),他們大概只能夠做到不斷的去優(yōu)化和提升技術(shù),但是對(duì)于真正需要應(yīng)用的,**尤其是語言領(lǐng)域等核心問題,大部分人是沒有涉獵的。所以這是作為文科背景的同學(xué)們也是可以選擇AI行業(yè)的重要原因。
以智能客服為例,如圖所示,首先左邊是用戶的輸入,當(dāng)用戶輸入接進(jìn)來了之后,需要通過“naturAI language understanding”,也就是“自然語言理解”形式去對(duì)它進(jìn)行初步的處理,經(jīng)過這樣的一個(gè)步驟,把分析好的信息,交接到下一個(gè)“diAIog manager”,就是“對(duì)話管理模塊”,由模塊去判斷我們對(duì)話的狀態(tài),以及調(diào)用“knowledge graph”知識(shí)庫(kù)的這些知識(shí)。
從這個(gè)里面正確的得到了一個(gè)非常簡(jiǎn)單初步的信息,但是簡(jiǎn)單初步的信息,顯然是沒有辦法直接拿給用戶的,那么也就到了下面一個(gè)關(guān)鍵的節(jié)點(diǎn),就是“NLG”。
“NLG”,自然語言生成。
到達(dá)這一步后,把非常粗糙的方面,處理成為易懂并且自然流暢的語言,最后再進(jìn)行輸出。在這整個(gè)流程中間,最關(guān)鍵的是“NLU” “DM”還有“NLG”,這三個(gè)模塊,也就是我們自然語言分析處理,應(yīng)用的最核心的幾個(gè)板塊。
逐步介紹。首先第一個(gè)板塊是“NLU”,自然語言理解。顧名思義,首先應(yīng)該有理解,理解之后才可以分析,才有輸出,這是要邁出的第一步。
如圖所示,右邊有三個(gè)例句,“預(yù)約一下周日上午的小時(shí)保潔。”“可以幫我叫家政阿姨來我家嗎?”“應(yīng)該找個(gè)鐘點(diǎn)工來打掃衛(wèi)生。”
大部分人會(huì)產(chǎn)生誤解,會(huì)覺得機(jī)器的理解是不是和機(jī)器翻譯一樣,看一下這個(gè)詞,然后組合去進(jìn)行理解?其實(shí)不是的,機(jī)器理解,它每個(gè)詞的確切含義,對(duì)它來說并不重要,重要的是這整一句話的意思。為了使機(jī)器能夠進(jìn)行處理,首先是通過語義分析,然后再進(jìn)行轉(zhuǎn)換。
回顧一下這三句話。經(jīng)過思考之后,會(huì)發(fā)現(xiàn)這三句話想表達(dá)的是同一件事情。在這時(shí)候,“NLU”要做的事情是什么?
首先第一步“領(lǐng)域識(shí)別”。舉個(gè)例子,假設(shè)我們現(xiàn)在是淘寶的客服,這個(gè)時(shí)候,用戶進(jìn)來直接說“宇宙會(huì)不會(huì)爆炸?”那么馬上就會(huì)進(jìn)行判斷,這是一個(gè)領(lǐng)域外的問題,可以用其它系統(tǒng)進(jìn)行篩選攔截之類的,不會(huì)讓它進(jìn)入到后面的流程中去。
第二步是“意圖的抽取”,理解分析用戶到底是什么意圖。
當(dāng)前兩個(gè)步驟順利完成了之后,第三點(diǎn)就是槽位的填充。再次回顧一下之前的三句話,其實(shí)信息最完整的是第一句話,因?yàn)橄旅鎯删湓?,雖然也表達(dá)出了,要預(yù)約一個(gè)保潔來家里的信息,但是并沒有說清楚時(shí)間。當(dāng)我們對(duì)下面兩句話進(jìn)行分析的時(shí)候,走到槽位抽取的步驟,會(huì)發(fā)現(xiàn)槽為空。而第一個(gè)就不一樣,第一個(gè)首先可以抽到一個(gè)槽位,是服務(wù)類型,還有服務(wù)的時(shí)間,這樣的槽位是滿的,接下來就可以直接做處理。
“NLU”現(xiàn)在有兩種方法,如圖所示,它非常簡(jiǎn)單,在答案非常單一,場(chǎng)景同樣單一的情況下,用簡(jiǎn)單粗暴的一些規(guī)則形式,去進(jìn)行一個(gè)匹配。但是右邊模型的處理方式卻不太一樣,模型是非常依賴前期大量的數(shù)據(jù)標(biāo)注的。這兩種方法各有利弊。
如圖所示,假如現(xiàn)在有非常迫切的需求,比較緊急,那么首先可以考慮用左圖規(guī)則,因?yàn)樗⒉恍枰捌跍?zhǔn)備數(shù)據(jù)之類的步驟,但是它的容錯(cuò)率會(huì)非常低,靈活性也很差,而且一旦出現(xiàn)更新之類的過程,維護(hù)迭代同樣非常困難。
右邊模型的形式,雖然在前期可能會(huì)耗費(fèi)大量的精力,去進(jìn)行標(biāo)注,還有分析,但是相對(duì)于左邊就會(huì)非常靈活,覆蓋度廣,非常準(zhǔn)確,而且它的針對(duì)的場(chǎng)景,也可以更復(fù)雜一些。
接下來,“DM對(duì)話管理”,它是對(duì)話系統(tǒng)的一個(gè)大腦,維護(hù)更新對(duì)話的狀態(tài),基于對(duì)話狀態(tài),選擇接下來最合適的一種動(dòng)作。
舉一個(gè)例子,某位用戶說“幫我叫一個(gè)車回家”,在這種情況下,系統(tǒng)的動(dòng)作可能向用戶詢問“幾點(diǎn)出發(fā)”,或者“您的出發(fā)地和目的地分別是什么”。
假如用戶說的很清楚明白,例如“明天早上8點(diǎn),幫我叫一輛從家里出發(fā)到公司的車”,那么這個(gè)時(shí)候DM的處理方式,就是直接為用戶叫車。
最后,“NLP對(duì)話生成”。
舉個(gè)例子,之前有一則社會(huì)新聞,講述機(jī)器可以自動(dòng)寫小說,雖然很驚訝,但是隨后發(fā)現(xiàn)機(jī)器用了一些非常稀奇古怪,甚至不能稱之為句子的語言拼湊了字?jǐn)?shù)組合在一起。當(dāng)然這些都是噱頭,機(jī)器目前并不能做到人類真正意義上想要看到的文章。
機(jī)器學(xué)會(huì)自己去表達(dá),是需要非常多的準(zhǔn)備,比如今的理解認(rèn)知還要更復(fù)雜一些,首先要將知識(shí)比較完整的收集整理,然后選一個(gè)合適的形式,存到計(jì)算機(jī)系統(tǒng)里,并且還要有效的,去利用它們,如果個(gè)別環(huán)節(jié)出錯(cuò),可能會(huì)導(dǎo)致前功盡棄。這一部分,需要語言學(xué)的應(yīng)用非常多,一個(gè)文本一個(gè)字符串,是有很多含義的,一對(duì)多,多對(duì)一既是自然語言最大的魅力,也是現(xiàn)在進(jìn)行分析處理最主要的障礙。
在自然語言生成的過程中,“應(yīng)該表達(dá)什么”和“應(yīng)該怎么樣去表達(dá)”這兩種方面是非常重要的,但是卻普遍忽略了另外一個(gè)問題,就是“為什么要用這種方式去表達(dá)”這同樣是非常具有價(jià)值的一個(gè)角度。
到底有什么機(jī)遇和挑戰(zhàn)?首先在NLU之前,有一個(gè)非常必要的,同樣關(guān)鍵的流程,就是標(biāo)注。假設(shè)某位用戶,輸入是“燈泡不亮”,四個(gè)字,現(xiàn)在要根據(jù)這個(gè)現(xiàn)象進(jìn)行標(biāo)注,應(yīng)該怎么標(biāo)呢?可能有人會(huì)標(biāo)停電了,或者標(biāo)燈絲燒斷了等,大概率的人都會(huì)以這個(gè)思路去走。
如圖所示,左邊這一圈白字,其實(shí)都是有可能造成燈泡不亮的原因,既然這么多原因都能對(duì)應(yīng)到燈泡不亮,那么就不能在一開始,就預(yù)判他一定是其中哪一種,把范圍定位的太窄,就會(huì)造成很多的錯(cuò)誤。
如圖所示,右邊板塊,我們需要做一些預(yù)判和優(yōu)化,在對(duì)話系統(tǒng)中,我們要及時(shí)的發(fā)現(xiàn)用戶是否偏離,狀態(tài)是否異常,如果存在異常,就可以考慮是否主動(dòng)結(jié)束話題或者轉(zhuǎn)換話題。
在未來,機(jī)器人如果學(xué)習(xí)了這樣一種處理機(jī)制的話,對(duì)話才是比較智能的,甚至可以預(yù)判客戶的真實(shí)的需求,我們也可以更好的引導(dǎo)。
在做自然語言處理的時(shí)候,需要面對(duì)三個(gè)問題,一個(gè)是體系的建立,一個(gè)是數(shù)據(jù),還有一個(gè)是算法,這是對(duì)話機(jī)器人痛點(diǎn)。
這里存在一個(gè)很有意思的現(xiàn)象,語言學(xué)科背景的語言學(xué)家們?cè)诖祟I(lǐng)域是無處不在的,并且可以參與到各個(gè)環(huán)節(jié)當(dāng)中,例如智能音箱,語音助手等,它是把語音轉(zhuǎn)化為文字,然后再輸出,再把文字轉(zhuǎn)回語音,等于在大框架里,接入了一些語音技術(shù),變成了一個(gè)語音助手的形式。很多人覺得就只能處理語言,就只能文本,是不是范圍太窄了,其實(shí)并不是,我們現(xiàn)在能夠看到的,背后真正的核心就是“NLU”,“DM”,還有“NLG”三個(gè)模塊。
其次是“檢索”,通過“命名實(shí)體識(shí)別”,就可以找句子里我們所需要的最關(guān)鍵的信息,例如做售前售后工作的人士,可能比較關(guān)心是設(shè)備型號(hào),再例如智能音箱,大家用的最多的功能比如播放歌曲,或者城市溫度等,這些都是可以通過檢索的形式實(shí)現(xiàn)的。
所有的產(chǎn)品,其核心都是以用戶需求出發(fā),如果把握住這一點(diǎn),很多問題都會(huì)簡(jiǎn)單化。
至于對(duì)話機(jī)器人,它承載了一個(gè)全新的交互形式。雖然道路有些漫長(zhǎng),但是我們已經(jīng)在路上。有大部分人不是專業(yè)計(jì)算機(jī)專業(yè)出身,加入智能領(lǐng)域,會(huì)極其不自信,“是不是會(huì)沒有幫助?”“專家根本會(huì)不會(huì)看不起我,不讓我入行”,這些顧慮都是沒有必要的,首先一定要去進(jìn)行了解,很多恐懼,都是因?yàn)槲粗a(chǎn)生的,如果認(rèn)真的進(jìn)行了解,就清楚自身能力能發(fā)揮哪些作用,平時(shí)學(xué)會(huì)多思考,這個(gè),才是最重要的。
如果把“AI”,比作“飛機(jī)”的話,它處在“引擎”很關(guān)鍵的位置,我們的目標(biāo),就是用我們對(duì)語言天然的敏感,用語言學(xué)相關(guān)的知識(shí)讓機(jī)器去理解和學(xué)習(xí)人類的語言,同時(shí)這些文本可以發(fā)揮最大的價(jià)值,只有做到了這一點(diǎn),真正的“智能”才會(huì)變?yōu)椤翱赡堋薄?/strong>