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