在語義解析這個(gè)領(lǐng)域,語義表示早期的工作幾乎都是符號學(xué)派為主的,例如一階邏輯表達(dá)式和lambda計(jì)算式。舉個(gè)例子,對于:
這樣一個(gè)自然語言,利用一階邏輯表達(dá)式可以簡單地表達(dá)為:
但這些早期的邏輯表達(dá)式有一些限制條件,例如,在一階邏輯中,量詞只能用于個(gè)體變元,取消這一限制條件,允許量詞也可用于命題變元和謂詞變元,由此構(gòu)造起來的謂詞邏輯就是高階邏輯。FMR(Functional Meaning Representation) 就是利用高階函數(shù)來做意義表達(dá),將語義(函數(shù)聲明的調(diào)用)和語用(函數(shù)具體實(shí)現(xiàn)邏輯,函數(shù)體)的實(shí)現(xiàn)解耦合,讓模塊的復(fù)用性和實(shí)用性更好。
也有一些研究者希望用有向無環(huán)圖來更完備地表達(dá)語義,例如由帕爾默等人提出的AMR(Abstract Meaning Representation)。近年來,一些工業(yè)界機(jī)構(gòu)也根據(jù)自己的業(yè)務(wù)場景提出了滿足各自需求的多種語義表示方法,例如亞馬遜的Alexa語音助手就采用了同樣基于有向無環(huán)圖的AMRL(Alexa Meaning Representation Language)來表示以對話為主的自然語言。
還有一些研究者傾向于把自然語言直接轉(zhuǎn)化為像python、SQL一樣的程序語言,使之能夠直接被執(zhí)行。由于程序語言天然地傾向于消除歧義,這樣的方法在某些特定領(lǐng)域有著很強(qiáng)的實(shí)用性。
在一覽群智的業(yè)務(wù)落地過程中,我們一直在探索一種實(shí)用性強(qiáng)、擴(kuò)展性好的落地方案。面對實(shí)際業(yè)務(wù)問題,能夠基于堅(jiān)實(shí)的基礎(chǔ)研發(fā)產(chǎn)品進(jìn)行快速的行業(yè)適配,擺脫傳統(tǒng)方法對數(shù)據(jù)標(biāo)注的依賴。同時(shí),又能無縫銜接先進(jìn)通用模型帶給我們的技術(shù)利好,有機(jī)地把行業(yè)內(nèi)的專家知識與自然語言學(xué)界的前沿成果結(jié)合起來。基于Go語言的開源庫FMR (Functional Meaning Representation)就是我們朝這個(gè)方向踏出的堅(jiān)實(shí)一步。在我們的實(shí)際業(yè)務(wù)場景種,基于FMR框架,僅需要少量的工程師就能將有行業(yè)特殊性的語言邏輯快速轉(zhuǎn)化為FMR框架可讀的文法,快速滿足行業(yè)定制化需求。另外,F(xiàn)MR相比于傳統(tǒng)的框架,可解釋性強(qiáng),誤差可控,在部署便利程性和技術(shù)的延展性上,都有著獨(dú)特的優(yōu)越性。
注:FMR開源庫地址鏈接https://github.com/liuzl/fmr
在傳統(tǒng)自然語言的應(yīng)用中,業(yè)界傾向于用一種pipeline的方式,包括分詞、特征工程、建模等流程。這樣的方式中的任何一個(gè)子流程的誤差在整個(gè)過程中都會被傳播甚至放大。與傳統(tǒng)流程不同的是,語義解析把自然語?的歧義性盡量當(dāng)成特性?不是問題來進(jìn)行處理,盡量保留所有符合語義的解析樹,并結(jié)合上下文語境進(jìn)行歧義消解。例如,在FMR中,對語句詞的切分是依據(jù)UnicodeStandardAnnex#29,并在此基礎(chǔ)上根據(jù)文法進(jìn)?解析,這極大程度規(guī)避了分詞模型誤差在pipeline中逐級傳播。另外,對于大部分自然語言模型框架,外部依賴繁雜,在業(yè)務(wù)部署過程中非常繁瑣。相比之下,基于Go語言的FMR在部署時(shí)能夠被編譯成一個(gè)可以直接執(zhí)行的二進(jìn)制文件,給部署帶來了極大的便利。
語言的歧義性與其解析難度是正相關(guān)的。正如剛才所說,大部分編程語言在設(shè)計(jì)的時(shí)候就把“消除歧義”作為設(shè)計(jì)原則之一,因此,大部分程序語言的解析復(fù)雜度都是O(n)的。對于自然語言,由于其內(nèi)在的歧義性,所用到的解析算法的復(fù)雜度(例如CKY和Earley)都是O(N^3)的。與編程語言相似的是,在金融、公安、法律等領(lǐng)域,文書的文法和詞法在一定程度上會刻意避免歧義,以求準(zhǔn)確表達(dá)。這正好大大降低了語言的歧義性,讓語義解析在這些場景下能夠發(fā)揮效用。
金融行業(yè)的票據(jù)審核正是這樣一個(gè)和語義解析耦合性很強(qiáng)的場景。在這個(gè)場景下,語言的歧義性一定程度上被人為的避免,降低了語義解析的難度。票據(jù)中的語言表述精煉,幾乎沒有“上下文語境”,而這是大多深度學(xué)習(xí)模型所依賴的,所以這些屠榜的利器在這個(gè)場景下幾乎沒有用武之地。另外,金融行業(yè)對模型的可解釋性和可控性要求極高,這也是語義解析能在這個(gè)行業(yè)落地的重要因素。一覽群智為金融行業(yè)打造的智能審單專家系統(tǒng)中,不論是對票據(jù)信息的抽取還是對條款語義的理解,語義解析扮演著舉足輕重的角色。這個(gè)審單系統(tǒng)已經(jīng)在多個(gè)銀行的票據(jù)審核中投入使用,不僅給銀行客戶帶來了業(yè)務(wù)效率的提示,也節(jié)省了銀行大量的人力成本。
與金融行業(yè)類似,公安行業(yè)也存在著大量的零碎數(shù)據(jù),分布在不同部門數(shù)據(jù)庫中。在過去,面對這樣的海量數(shù)據(jù),很多業(yè)務(wù)需求,例如案件線索追蹤和串并案發(fā)現(xiàn),都極度依賴于專家的個(gè)人經(jīng)驗(yàn)和大量人力比對。另外,公安行業(yè)的數(shù)據(jù)由于其行業(yè)特殊性,數(shù)據(jù)很難流通,這給數(shù)據(jù)標(biāo)注也帶來了很大的困擾。一覽群智針對公安行業(yè)的數(shù)據(jù)現(xiàn)狀,研發(fā)了融合海量警情分析和案件關(guān)聯(lián)分析的警情案情分析預(yù)警系統(tǒng),在多地的公安系統(tǒng)中得到應(yīng)用和一致好評。
正因?yàn)檫@些行業(yè)的文本數(shù)據(jù)分布與開放領(lǐng)域文本的分別存在偏移,導(dǎo)致很多通用的模型無法快速地適配到應(yīng)用場景中。同時(shí),這些模型算法中大多數(shù)依賴于短期內(nèi)無法得到的大批量標(biāo)注數(shù)據(jù),面對沒有標(biāo)注數(shù)據(jù)的場景幾乎無法冷啟動。著名學(xué)者楊樂村曾說過:如果把人工智能比作蛋糕,那監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)只是蛋糕上的點(diǎn)綴,只有非監(jiān)督學(xué)習(xí)是蛋糕本體。在我們面臨的大多數(shù)沒有標(biāo)注數(shù)據(jù)的場景中,也許語義解析就是楊樂村的那塊蛋糕。自然語言處理和文本分析針對的場景往往是多個(gè)任務(wù)的集合,而語義解析與深度學(xué)習(xí)模型的綜合使用,能夠讓自然語言處理和文本分析中的各項(xiàng)任務(wù),按照最適合其特性的解決方法,得到綜合的處理。
語義解析所依賴的所有語義解析語法是不是都需要人工編寫呢?在特定領(lǐng)域中,由于語法規(guī)則的制定帶有很多人工的先驗(yàn)知識,需要人為的來制定。例如在數(shù)字解析中,“一打”的指的是“12”,這樣的規(guī)則就是機(jī)器學(xué)不來的。但對于大部分語法規(guī)則來說,我們是可以通過統(tǒng)計(jì)和機(jī)器學(xué)習(xí)等數(shù)據(jù)驅(qū)動方法,從語?數(shù)據(jù)中學(xué)習(xí),從而獲得規(guī)律。在極端的數(shù)據(jù)驅(qū)動?方法中,甚至可以完全不使用?工手寫語法,所有規(guī)則都是從數(shù)據(jù)中學(xué)習(xí)?而獲得的。
語義解析是否就是正則表達(dá)式匹配或者槽位填充呢??然語言具有語義組合性和遞歸性的特點(diǎn),槽位填充實(shí)現(xiàn)了部分的組合性。而對于語義的遞歸性,不論是正則表達(dá)式匹配還是槽位填充都無法體現(xiàn)。
在標(biāo)注數(shù)據(jù)充足的情況下,符號化語義解析是否仍有優(yōu)勢呢?基于神經(jīng)網(wǎng)絡(luò)的一些模型在很多特定的任務(wù)上取得了鼓舞人心的評測結(jié)果,但與語義解析框架不同的是,這些模型算法更像是太上老君的丹爐,模型的優(yōu)劣是實(shí)驗(yàn)規(guī)律總結(jié)得到,很難得到理論上的解釋性。正如張鈸院士所說:“現(xiàn)在的人工智能沒有自知之明”。數(shù)據(jù)驅(qū)動的方法做出來的人工智能系統(tǒng),是很危險(xiǎn)的。即使對于SOTA模型,我們只知道在很大概率上,模型的結(jié)果是正確的,但我們無法確定很小概率的那部分在哪里。舉例來說,對于一個(gè)簡單的自然語言描述數(shù)字轉(zhuǎn)換成阿拉伯?dāng)?shù)字問題,即使模型精度達(dá)到了99%,但在例如票據(jù)審核這樣容錯率極低的場景下,即使是1%的錯誤率,但模型無法確定性的直接給出到底是哪1%是錯誤的,這樣也會帶來無法接受的后果。
總而言之,我們當(dāng)然對真正的強(qiáng)人工智能喜聞樂見,但受限于當(dāng)前的技術(shù)發(fā)展,“全心全意”地相信深度學(xué)習(xí)模型并不是一種負(fù)責(zé)任的選擇,更不用說在很多場景下,由于標(biāo)注數(shù)據(jù)的匱乏,可選模型乏善可陳。相比之下,語義解析似乎是我們在這個(gè)階段上的一個(gè)局部最優(yōu)解。若干年后,假使真的出現(xiàn)對語言理解勝于人類的智能產(chǎn)物,人們也不會忘記語義解析在人工智能發(fā)展的長河中濃墨重彩的一筆。
(一覽群智 劉占亮)
作者簡介:? 劉占亮 一覽群智技術(shù)副總裁
2007年畢業(yè)于天津大學(xué)計(jì)算機(jī)系,
曾先后供職于微軟亞洲研究院互聯(lián)網(wǎng)搜索與挖掘組、騰訊搜索、搜狗號碼通和百度國際化,歷任研究軟件工程師、研究員、資深研究員/研發(fā)負(fù)責(zé)人、
資深架構(gòu)師/高級技術(shù)經(jīng)理,負(fù)責(zé)基礎(chǔ)研究、產(chǎn)品研發(fā)、研發(fā)管理、業(yè)務(wù)推廣、商業(yè)變現(xiàn)等方面的工作。此外,他還曾作為產(chǎn)品技術(shù)負(fù)責(zé)人參與創(chuàng)辦Hitchsters.com(named one of Time Magazine’s 50 Best Websites for 2007)和Initialview.com。