趙云肖,李 茹,3,李欣杰,蘇雪峰,4,施艷蕊,喬雪妮,胡志偉,閆智超
(1. 山西大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,山西 太原 030006;2. 中譯語通科技股份有限公司,北京 100043;3. 山西大學(xué) 計(jì)算智能與中文信息處理教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030006;4. 山西工程科技職業(yè)大學(xué) 現(xiàn)代物流學(xué)院,山西 晉中 030609)
文本語義匹配(Text Semantic Matching,TSM)是自然語言處理的一項(xiàng)基礎(chǔ)技術(shù),廣泛應(yīng)用于機(jī)器閱讀理解、信息檢索、問答等任務(wù)中,它要求模型能夠通過比較給定的兩段文本確定它們之間的語義關(guān)系[1]。由于人類自然語言真實(shí)場景的語義表達(dá)靈活多變,研究兩個(gè)文本間的語義關(guān)系一直以來都至關(guān)重要[2]。
近些年來,研究人員一直在推動(dòng)文本語義匹配技術(shù)的發(fā)展,如ConvNet模型[3]、ABCNN模型[4]、DRCN模型[5],以及以BERT[6]為代表的預(yù)訓(xùn)練模型等,這些都極大地促進(jìn)了文本語義匹配技術(shù)的進(jìn)步[6-7]。但隨著大數(shù)據(jù)時(shí)代互聯(lián)網(wǎng)文本數(shù)據(jù)的發(fā)展,人們發(fā)現(xiàn)基于深度神經(jīng)網(wǎng)絡(luò)的模型雖然在一些匹配數(shù)據(jù)集上取得了與人類相仿甚至超越人類的效果,但在處理真實(shí)應(yīng)用場景中的文本時(shí)仍面臨著能力不足的缺陷(1)https://www.datafountain.cn/competitions/516/datasets。
分析相關(guān)前沿語義匹配數(shù)據(jù)集發(fā)現(xiàn),在真實(shí)應(yīng)用場景下導(dǎo)致模型無法精準(zhǔn)預(yù)測匹配結(jié)果的干擾因素主要來自兩個(gè)層面: ①來自文本語義層面; ②來自標(biāo)簽語義層面。其中,前者的干擾因素主要是因?yàn)楝F(xiàn)有模型常常忽略文本字形與拼音的信息表示;后者的干擾主要是因?yàn)楝F(xiàn)有模型在編碼后直接經(jīng)過分類層便得到預(yù)測結(jié)果,忽略了標(biāo)簽信息也隱含著分類的重要特征。表1給出了現(xiàn)階段模型忽略文本語義層面與標(biāo)簽語義層面的典型案例。
表1 現(xiàn)有模型忽略重要信息的典型案例
如表1所示,樣例1~樣例6的案例表明現(xiàn)有模型僅從漢字字符的角度不能精準(zhǔn)判別文本間的語義一致性。首先,如樣例1案例表明,當(dāng)漢字字符不能提供額外的分類特征時(shí),拼音維度的特征信息(/jiu/yi/nian/shu/shen/me/?)可能會(huì)對模型的精準(zhǔn)分類起到作用。其次,樣例2~樣例4的案例表明: ①現(xiàn)有模型對文本間關(guān)鍵詞匯的區(qū)分僅從漢字字符的角度進(jìn)行區(qū)分遠(yuǎn)不夠; ②關(guān)鍵詞匯的釋義信息對模型的精準(zhǔn)分類至關(guān)重要。此外,樣例5~樣例6的案例表明,在真實(shí)場景案例表達(dá)的語義一致但漢字字符語義不一致的情況下,真實(shí)標(biāo)簽(用1表示)隱含了案例一致的關(guān)鍵語義信息。標(biāo)簽所隱含的語義信息往往有助于模型的精準(zhǔn)分類,而現(xiàn)有模型在匹配分類時(shí)尚未考慮標(biāo)簽信息對模型性能的影響。
現(xiàn)階段,文本語義匹配任務(wù)面臨的問題是文本層面和標(biāo)簽層面的語義信息利用不充分,導(dǎo)致模型的泛化性與魯棒性得不到保證。因此,精準(zhǔn)融合文本層面的漢字字形、拼音與釋義信息以及標(biāo)簽層面的標(biāo)簽信息來提升模型的性能至關(guān)重要。
針對以上問題,本文從文本語義與標(biāo)簽語義兩個(gè)層面提出一種基于漢字形音義的多元知識和標(biāo)簽嵌入的文本語義匹配模型。該模型的主要思想是: 首先獲取文本層面漢字形音義的多元知識并進(jìn)行融合表示,然后采用標(biāo)簽嵌入的方法將標(biāo)簽信息結(jié)合起來,進(jìn)而再進(jìn)行語義匹配關(guān)系的預(yù)測。在相關(guān)數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文所提模型的性能得到了有效提升。
本文的主要貢獻(xiàn)有以下幾點(diǎn):
(1) 從文本語義的層面,利用漢字形音義多元知識融合表示的方法,挖掘模型在編碼時(shí)潛在的語義表示。
(2) 從標(biāo)簽語義的層面,利用標(biāo)簽嵌入的方法考慮標(biāo)簽信息對模型的影響來強(qiáng)化最終的預(yù)測結(jié)果。
(3) 提出一種基于漢字形音義的多元知識和標(biāo)簽嵌入的文本語義匹配模型,模型在LCQMC和BQ Corpus兩個(gè)公開數(shù)據(jù)集以及CCF-BDCI-2021問題匹配評測數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文所提出的方法有效提升了模型的性能。
早期的文本匹配方法主要依賴于基于特征的方法,如句法特征的提取、轉(zhuǎn)換和關(guān)系抽取[8-9]。基于特征的方法由于只能在非常具體的任務(wù)上進(jìn)行操作,缺乏普適性,模型的性能受到了一定的限制。與此同時(shí),由于缺乏大規(guī)模語料的限制,基于深度學(xué)習(xí)方法的模型性能得不到顯著提升。直到2015年,Bowman等人發(fā)布了第一個(gè)大規(guī)模人工標(biāo)注的數(shù)據(jù)集SNLI[10-11],深度學(xué)習(xí)的方法才開始在文本語義匹配的任務(wù)上嶄露頭角。深度學(xué)習(xí)在文本匹配任務(wù)上應(yīng)用的初期,Huang等人為了優(yōu)化文本語義信息的表示,構(gòu)建了DSSM,將查詢和文檔映射到共同維度的語義空間進(jìn)行隱含語義模型的學(xué)習(xí)[12]。Severyn等人通過卷積神經(jīng)網(wǎng)絡(luò)對DSSM進(jìn)行了改進(jìn),并采用TextCNN來提取文本語義特征[3]。
隨著深度學(xué)習(xí)的發(fā)展,人們開始關(guān)注嵌入表示學(xué)習(xí),以表示學(xué)習(xí)為中心的語義表示方法主要有兩種: ①基于句子編碼的語義表示; ②基于跨句特征或句間注意力的聯(lián)合特征表示。其中,針對基于句子編碼的語義表示,Conneau等人提出一種通用的句向量的表達(dá)模型[13];Nie等人通過有監(jiān)督學(xué)習(xí)使用這種通用的編碼器模型將兩個(gè)輸入句子編碼為兩個(gè)向量,隨后使用矢量組合上的分類器來標(biāo)記兩個(gè)句子之間的關(guān)系[14]。而后,Wang等人提出了一種雙向的多角度匹配模型BiMPM,從多個(gè)角度利用自定義余弦匹配方程來比較兩個(gè)向量的相似度[1]。此類方法可將句子編碼到當(dāng)前查詢的句子表征中,并可遷移到其他自然語言處理的任務(wù)中。雖然此類方法對模型性能有一定的提升作用,但卻忽略了兩個(gè)句子之間的交互特征。
為了彌補(bǔ)句子編碼表示的交互性不足的問題,人們開始引入聯(lián)合特征的表示學(xué)習(xí)。Parikh等人摒棄傳統(tǒng)上詞在句子中的時(shí)序關(guān)系,更多地關(guān)注兩句話的詞之間的交互關(guān)系以使得兩個(gè)句子間產(chǎn)生交互影響[15];Cheng等人通過設(shè)計(jì)特殊結(jié)構(gòu)及引入詞與詞之間相關(guān)程度的注意力來改進(jìn)LSTM輸入的結(jié)構(gòu)化問題[16]。Chen等人考慮局部推斷和推斷組合,基于鏈?zhǔn)絃STMs設(shè)計(jì)了序列推斷模型ESMI,在LSTM的基礎(chǔ)上引入了句子間的注意力機(jī)制,來實(shí)現(xiàn)局部的推斷,進(jìn)而實(shí)現(xiàn)全局的推斷[17]。Yin等人考慮了句子之間的相互影響,在CNN的基礎(chǔ)上構(gòu)建了一種基于注意力的卷積神經(jīng)網(wǎng)絡(luò)(ABCNN),用于對句子對進(jìn)行建模[4];Gong等人引入了交互式推理網(wǎng)絡(luò),通過從交互空間中分層提取語義特征來實(shí)現(xiàn)對句子對的高級理解,以此構(gòu)建了DIIN[18];Kim等人構(gòu)建了DRCN,在Attention機(jī)制的基礎(chǔ)上借鑒了圖像識別中的DenseNet的密集連接操作,更好地保留了原始特征信息來增強(qiáng)句子語義匹配的表示能力[5]。聯(lián)合特征表示的方法考慮了兩個(gè)句子間的交互影響,在一定程度上增強(qiáng)了兩個(gè)句子間的語義相似性。
基于以上語義表示的方法雖然可有效地提升文本匹配模型的精度,但是卻容易丟失查詢各自詞匯的上下文信息。同時(shí),業(yè)界也缺乏大規(guī)模的知識表示。直到預(yù)訓(xùn)練范式的出現(xiàn),基于大規(guī)模通用語料的模型正是借助了這種優(yōu)勢,有效地提升了模型的性能,一度刷新了文本匹配任務(wù)的榜單。其中,代表性的模型有BERT[6]、ERNIE[19]等。
基于大規(guī)模語料的預(yù)訓(xùn)練有助于文本匹配任務(wù)性能的提升,但是這一部分提升也僅僅是利用大規(guī)模語料的預(yù)訓(xùn)練緩解了通用領(lǐng)域的知識表示缺乏的問題;利用注意力機(jī)制[20]緩解了詞匯上下文信息丟失的問題。然而在面向復(fù)雜場景(涉及真實(shí)場景引發(fā)的特定知識的語義匹配場景)的語義匹配問題,預(yù)訓(xùn)練模型便顯得無能為力。
有研究證明,無論是否融入預(yù)訓(xùn)練技術(shù)引入外部知識均可有效地緩解此類問題。Liu等人將CN-DBpedia 構(gòu)建的知識圖譜作為外部知識庫,為模型引入額外的實(shí)體特征進(jìn)行文本匹配的任務(wù)增強(qiáng)[21]。Chen等人在不使用注意力機(jī)制與預(yù)訓(xùn)練技術(shù)的前提下,引入依存句法信息與WordNet的詞法信息,有效增強(qiáng)文本的匹配性能[22];周等人在使用注意力機(jī)制與預(yù)訓(xùn)練技術(shù)的前提下,引入WordNet與HowNet的詞匯信息與詞語搭配模塊,有效提升文本匹配的模型性能[23]。
雖然基于深度學(xué)習(xí)的方法在文本語義匹配的任務(wù)上的性能可達(dá)到先進(jìn)的水平(State Of The Art)但尚且存在著兩方面的弱勢: ①從文本語義的層面,未考慮除漢字字符外的潛在語義信息對模型性能的影響; ②從標(biāo)簽語義的層面,未考慮標(biāo)簽隱含的語義信息對模型性能的影響。
本節(jié)將分別從任務(wù)定義、模型架構(gòu)、模型的訓(xùn)練及優(yōu)化等方面進(jìn)行詳細(xì)介紹。
文本語義匹配,又稱自然語言語義匹配(Natural Language Semantic Matching,NLSM),可形式化地描述為: 給定一個(gè)三元組(s1,s2,y)[1],s1和s2的定義如式(1)、式(2)所示。
其中,s1表示長度為m的句子,s2表示為長度為n的句子,y∈Y表示s1和s2之間的關(guān)系標(biāo)簽;Y表示0和1的標(biāo)簽集合;ci(i∈[1,m])表示查詢s1中的第i個(gè)字符;cj(j∈[1,n])表示查詢s2中的第j個(gè)字符。
文本語義匹配任務(wù)可以形式化地表示為基于訓(xùn)練集去估計(jì)條件概率f(y|s1,s2),并通過式(3)預(yù)測樣例之間的關(guān)系。
y*=arg maxy∈Yf(y|s1,s2)
(3)
本文模型架構(gòu)圖如圖1所示。該模型主要包含文本輸入層、信息編碼層、信息整合層、標(biāo)簽嵌入層、標(biāo)簽預(yù)測層五個(gè)部分,各個(gè)部分主要功能如下所示:
圖1 文本語義匹配模型架構(gòu)圖
(1) 文本輸入層: 從漢字形音義三個(gè)角度分別獲取輸入文本的漢字信息、拼音信息、關(guān)鍵詞匯的釋義信息。
(2) 信息編碼層: 對輸入文本的漢字信息、拼音信息、關(guān)鍵差異詞的釋義信息的多元知識進(jìn)行編碼。
(3) 信息整合層: 進(jìn)一步獲取融合漢字形音義多元知識的聯(lián)合表示。
(4) 標(biāo)簽嵌入層: 基于編碼后的分類標(biāo)簽,將標(biāo)簽信息融合至漢字形音義的聯(lián)合表示,進(jìn)而生成監(jiān)督標(biāo)簽。
(5) 標(biāo)簽預(yù)測層: 根據(jù)信息整合層的聯(lián)合表示與標(biāo)簽嵌入層的信息表示,得到分類標(biāo)簽與監(jiān)督標(biāo)簽,以對文本語義匹配關(guān)系進(jìn)行判別。
為了從文本語義層面強(qiáng)化并利用除漢字字符外的潛在語義信息,本文分別從漢字的形、音、義三個(gè)維度進(jìn)行了相關(guān)特征知識的準(zhǔn)備。
首先,漢字“形”,即文字本身的形體,主要包含偏旁、部首、字形等。在“形”的層面,本文側(cè)重于漢字字符層面的信息,主要包含兩方面: ①基于漢字全字的文本信息,②基于漢字偏旁部首的文本信息。其中,針對漢字全字的文本信息采用SnowNLP(2)https://pypi.org/project/snownlp/0.11.1/進(jìn)行簡體與繁體的統(tǒng)一,針對偏旁部首采用cnradical(3)https://www.cnpython.com/pypi/cnradical進(jìn)行獲取。
其次,漢字“音”,即形體所要表示的讀音與音節(jié)。從“音”的層面,本文考慮字音的特征增強(qiáng),基于Pinyin API(4)https://pypi.org/project/pypinyin/獲取拼音維度的信息。
最后,漢字“義”,即形體所能表達(dá)出來的意義。從“義”的層面,本文收集了百科詞典與百科知識(5)https://dict.baidu.com/的最新釋義從詞級粒度強(qiáng)化文本的語義信息。
2.4.1 漢字形與漢字音的編碼
字形、字音、釋義是漢字的重要組成部分,這三個(gè)方面在語言理解層面包含有重要的語義信息,而傳統(tǒng)模型在編碼時(shí)通常僅對漢字全字進(jìn)行編碼,忽略了除去漢字以外潛在數(shù)據(jù)的重要信息。因此,傳統(tǒng)上的模型只能夠從漢字全字表征的角度去計(jì)算語義相似度,這樣往往不能夠獲取到豐富的語義差異信息,從而導(dǎo)致模型對文本層面漢字、拼音以及釋義交叉干擾的樣本不敏感。
為了豐富文本的語義信息,在語義表示的層面也有相關(guān)的研究對此進(jìn)行了探索。Sun等人[24]曾在BERT的基礎(chǔ)上,融合中文字體與拼音來增強(qiáng)文本的潛在語義信息表示。本文在此基礎(chǔ)上進(jìn)一步擴(kuò)展,從漢字的形、音、義三個(gè)維度進(jìn)行豐富文本的語義信息及捕獲句間詞級粒度的語義差異信息。漢字形音義融合過程如圖2所示,其中釋義編碼具體細(xì)節(jié)見圖3。
圖2 漢字形音義融合示例圖
圖3 釋義信息捕獲示例圖
本文在得到句子差異成分的語義信息的同時(shí),將s1和s2的漢字文本與拼音文本作為輸入,與采用BERT進(jìn)行編碼。具體地,漢字文本層面表示主要包含基于漢字全字的文本信息表示和基于漢字偏旁部首的文本信息表示。本文將漢字全字進(jìn)行簡體與繁體的統(tǒng)一后,采用BERT進(jìn)行編碼表示,得到全字的文本信息表示;同時(shí)將偏旁部首信息用BERT編碼表示,并與全字表示進(jìn)行融合,從而得到漢字層面的最終表示。由于拼音信息的表示不同于中文字符的編碼,而與英文相似,因此本文采用BERT的英文編碼進(jìn)行拼音信息的表示。
式(4)與式(5)中{Uform,Upinyin}∈Rl×h中,l=3+m+n表示輸入字符的長度,h為隱藏層維度。
2.4.2 釋義編碼
在自然語言處理領(lǐng)域中,難點(diǎn)并不是漢字信息與拼音信息的獲取,而是如何精準(zhǔn)獲取文本間句子的主要差異成分并將其語義化。語義化句子間的主要差異成分,并不是簡單、機(jī)械地獲取文本間的字符差異即可,它還要求我們能夠挖掘其深層的意思并進(jìn)行語義表示。因此,本文首先通過詞級粒度語義信息捕獲操作獲取句子間的主要差異成分,然后結(jié)合外部釋義知識挖掘詞級信息背后潛在的語義信息,以此來增強(qiáng)模型在文本層面的語義表示。
其中,詞級粒度語義差異信息捕獲算法如表2所示。給定一個(gè)三元組(s1,s2,y),其中,s1和s2分別表示長度為m和長度為n的句子。
表2 詞級粒度語義信息捕獲算法
詞義辨析任務(wù)一直以來是自然語言處理中的一大難題,針對本文任務(wù),一詞多義主要會(huì)帶來由多義現(xiàn)象引發(fā)的釋義信息不匹配的問題。具體來講,釋義信息不匹配的問題主要表現(xiàn)在由詞語釋義選取不恰當(dāng)造成的當(dāng)前語境下真實(shí)釋義不匹配的問題,如“人家肚中有墨水”的“墨水”表示“文化與知識”,同時(shí)“墨水”還有“有顏色的液體、染料”的釋義,模型無法精準(zhǔn)獲取語境所需詞語的真實(shí)釋義是一大難題。對于這類問題,本文并未針對性地處理一詞多義現(xiàn)象,而是將一詞多義的詞語釋義進(jìn)行拼接。具體地,本文在釋義拼接前,首先進(jìn)行了釋義預(yù)處理,并分別與原查詢進(jìn)行相似度計(jì)算排序,最終選取TOP3的釋義,從而得到當(dāng)前詞語的最優(yōu)釋義信息。
信息整合層主要是基于信息編碼層編碼得到的漢字形嵌入、漢字音嵌入、漢字義嵌入的多元知識進(jìn)行融合,如圖4所示。
圖4 多元知識信息整合圖
因此,最終可得到文本間漢字的形音義的綜合語義表示U=[Uform;Upinyin;Usense]。
考慮到文本層面與標(biāo)簽層面的因素會(huì)交叉干擾樣本的預(yù)測,導(dǎo)致模型的預(yù)測結(jié)果不樂觀。因此,為了解決這個(gè)問題,使得標(biāo)簽信息可以與文本信息進(jìn)行交互,本文將編碼后的分類信息融合至漢字形音義的聯(lián)合表示中。
為了讓模型可以學(xué)習(xí)到文本層面與標(biāo)簽層面之間的關(guān)聯(lián),本文在標(biāo)簽嵌入層設(shè)計(jì)了如表3所示的兩種標(biāo)簽類型: ①真實(shí)標(biāo)簽(TL),表示原始樣本樣例s1與s2之間的語義是否匹配; ②監(jiān)督標(biāo)簽(SL),表示樣例s1與s2之間的語義關(guān)系與真實(shí)標(biāo)簽(TL)表達(dá)的語義關(guān)系是否一致。
表3 標(biāo)簽嵌入層數(shù)據(jù)構(gòu)造示例表
具體地,如表3所示,本文設(shè)定原始數(shù)據(jù)集中的數(shù)據(jù)樣本為正例,然后針對正例構(gòu)造了對應(yīng)的負(fù)例。如No.1案例中的正例為原始數(shù)據(jù)集中的數(shù)據(jù),正例s1與s2間的語義關(guān)系為不匹配(用0表示),真實(shí)標(biāo)簽為不匹配(用0表示),真實(shí)標(biāo)簽與樣例句間語義均表示不匹配,因此監(jiān)督標(biāo)簽為一致(用1表示)。與此同時(shí),本文針對正例構(gòu)造了負(fù)例。如表3的No.1案例中,負(fù)例為針對No.1正例構(gòu)造的負(fù)例數(shù)據(jù),構(gòu)造的負(fù)例s1與s2間的語義關(guān)系為不匹配(用0表示),構(gòu)造該負(fù)例的真實(shí)標(biāo)簽為匹配(用1表示),真實(shí)標(biāo)簽與樣例句間語義不一致,因此構(gòu)造負(fù)例的監(jiān)督標(biāo)簽為不一致(用0表示)。
一方面,本文將原始真實(shí)標(biāo)簽作為模型Pipeline正常預(yù)測的類別標(biāo)簽yc;另一方面,將其作為嵌入標(biāo)簽信息與漢字形音義的語義表示進(jìn)行整合,以用來生成監(jiān)督標(biāo)簽ys。標(biāo)簽嵌入層的目的主要是將編碼后的分類標(biāo)簽yc融合至漢字形音義的語義表示U。
本文在對標(biāo)簽集Y={ypos,yneg}進(jìn)行編碼時(shí)采用BERT進(jìn)行編碼,同時(shí)保證編碼后的向量逆向平行。即,
基于得到的類別標(biāo)簽嵌入表示C與漢字形音義的語義表示U進(jìn)行融合操作,如式(17)、式(18)所示。
其中,Sp表示漢字形音義與標(biāo)簽嵌入的聯(lián)合表示,?代表張量的哈達(dá)瑪乘積(Hadamard Product)。
標(biāo)簽預(yù)測層主要是根據(jù)信息整合層的聯(lián)合表示與標(biāo)簽嵌入層的信息表示,得到分類匹配標(biāo)簽與監(jiān)督標(biāo)簽,然后對文本語義匹配關(guān)系進(jìn)行判別。
將基于信息整合層得到的漢字形音義的語義表示U輸入到全連接層,得到隱藏特征之間的關(guān)聯(lián)表示Up,然后經(jīng)過線性分類器進(jìn)行分類以得到分類匹配標(biāo)簽,如式(19)~式(21)所示。
基于漢字形音義與標(biāo)簽嵌入的聯(lián)合表示Sp,進(jìn)行分類以得到監(jiān)督標(biāo)簽,如式(22)、式(23)所示。
根據(jù)分類匹配標(biāo)簽與監(jiān)督標(biāo)簽所對應(yīng)的概率,來對給定的文本進(jìn)行語義匹配關(guān)系的判別。
y*= arg maxyu∈YuPu⊙a(bǔ)rg maxys∈YsPs
(24)
其中,y*表示s1和s2之間最終預(yù)測的語義一致性標(biāo)簽;Yu表示初步分類匹配的語義一致性標(biāo)簽,且Yu∈{0,1};Ys表示分類匹配標(biāo)簽的監(jiān)督信號;⊙表示同或運(yùn)算。
本文實(shí)驗(yàn)的環(huán)境為32GB顯存的Tesla V100。模型采用Adam優(yōu)化器[25]對模型進(jìn)行優(yōu)化,并使用mini-batch進(jìn)行梯度下降,初始學(xué)習(xí)率設(shè)置為2e-5,權(quán)重衰減為0.05。訓(xùn)練階段Batch size設(shè)置為48,評估階段Batch size設(shè)置為64,Epoch設(shè)置為3,預(yù)訓(xùn)練模型輸入的最大序列長度為256。與此同時(shí),采用交叉熵與交叉熵的變體Focal損失[26]構(gòu)造損失函數(shù)。
本文采用交叉熵?fù)p失函數(shù)Lce作為基礎(chǔ)損失,如式(25)、式(26)所示。
為了解決正負(fù)樣本數(shù)量與樣本難度不均衡的問題,本文引入了Focal損失來平衡樣本數(shù)據(jù)。Focal損失公式如式(27)所示。
Lfl=-α(1-P(y))γlog(P(y))
(27)
其中,α為正負(fù)樣本比例權(quán)重平衡因子,初始值設(shè)置為1.0;γ為樣本難度權(quán)重平衡因子,初始值設(shè)置為2.0。
本文的損失函數(shù)主要由分類損失函數(shù)LC與信號監(jiān)督損失函數(shù)LS兩部分組成,如式(28)~式(30)所示。
其中,Lce表示交叉熵?fù)p失;Lfl表示Focal損失;η表示Focal損失的調(diào)節(jié)參數(shù),初始值設(shè)置為0.1。
為了驗(yàn)證模型的有效性,本文在多個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。本節(jié)首先簡要介紹本文實(shí)驗(yàn)的數(shù)據(jù)集,然后給出實(shí)驗(yàn)所使用的評價(jià)指標(biāo),給出本文的主要實(shí)驗(yàn)結(jié)果、消融實(shí)驗(yàn)結(jié)果以及泛化能力實(shí)驗(yàn)結(jié)果來驗(yàn)證實(shí)驗(yàn)方法的有效性,最后結(jié)合實(shí)驗(yàn)結(jié)果給出相應(yīng)的分析。
3.1.1 數(shù)據(jù)集介紹
本文針對來自文本層面與標(biāo)簽層面的預(yù)測干擾展開研究,因此選取了與Sun等人[24]匹配任務(wù)一致的公開數(shù)據(jù)集LCQMC[27]、BQ[28]以及CCF-BDCI-2021問題匹配任務(wù)(6)https://www.datafountain.cn/competitions/516/datasets的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。
(1)LCQMC數(shù)據(jù)集哈工大公開發(fā)布的語義匹配數(shù)據(jù)集。該數(shù)據(jù)集來自各個(gè)領(lǐng)域搜索引擎的實(shí)際搜索場景;該數(shù)據(jù)集復(fù)雜多樣,數(shù)據(jù)的文本層面具有交叉性干擾和多樣性匹配的特點(diǎn),其中,交叉性干擾存在對文本層面的拼音、釋義和標(biāo)簽信息交叉干擾的考察,多樣性匹配包含對意圖、濃縮、短語、同義及重排等多種類型的考察。
(2)BQ數(shù)據(jù)集哈工大公開發(fā)布的語義匹配數(shù)據(jù)集。該數(shù)據(jù)集來源于銀行真實(shí)場景下的客戶信貸服務(wù)日志,數(shù)據(jù)集內(nèi)存在字形、拼音及標(biāo)簽信息多種特征交叉干擾預(yù)測的現(xiàn)象。
(3)CCF-BDCI-2021評測數(shù)據(jù)集中國計(jì)算機(jī)學(xué)會(huì)與百度聯(lián)合推出的評測數(shù)據(jù)集,由多個(gè)數(shù)據(jù)集構(gòu)成,覆蓋了許多真實(shí)場景中的問題,標(biāo)簽信息更側(cè)重于真實(shí)場景下語義的表達(dá)。數(shù)據(jù)集中存在大量的文本層面與標(biāo)簽層面的干擾問題。
3.1.2 數(shù)據(jù)集劃分
LCQMC與BQ兩個(gè)數(shù)據(jù)集分別包含260 068個(gè)口語化文本樣例與120 000個(gè)信貸問題樣例。CCF-BDCI-2021問題匹配評測主辦方公開的數(shù)據(jù),共計(jì)534 742個(gè)文本樣例。三個(gè)數(shù)據(jù)集具體的數(shù)據(jù)劃分如表4所示。
表4 數(shù)據(jù)集劃分比例
本文實(shí)驗(yàn)的評價(jià)指標(biāo)采用準(zhǔn)確率(Accuracy,Acc)來衡量模型整體性能,如式(31)所示。
(31)
其中,TP表示被模型判別為正例的正例樣本數(shù),TN表示被模型判別為負(fù)例的負(fù)例樣本數(shù);FP表示被模型判別為正例的負(fù)例樣本數(shù);FN表示被模型判別為負(fù)例的正例樣本數(shù)。
為了驗(yàn)證本文提出方法的性能,在語義匹配數(shù)據(jù)集上將本文的方法與以下七種方法進(jìn)行了對比。這些模型具體如下:
CONVNET[3]: 傳統(tǒng)上主流的文本語義匹配模型,是單語義模型的一種改進(jìn)。
ABCNN[4]: 傳統(tǒng)上主流的文本語義匹配模型,在CNN的基礎(chǔ)上構(gòu)建了一種基于注意力的卷積神經(jīng)網(wǎng)絡(luò)。
BERT[6]: 谷歌公開的預(yù)訓(xùn)練模型。
BERT-WWM[29]: 哈工大基于中文BERT進(jìn)行全詞掩碼的中文預(yù)訓(xùn)練模型。
ERNIE[19]: 百度公開的預(yù)訓(xùn)練模型。
ERNIE-Gram[30]: 百度公開的預(yù)訓(xùn)練模型,在ERNIE的基礎(chǔ)上進(jìn)行改進(jìn),引入了n-gram掩碼機(jī)制。
ChineseBERT[24]: 香儂科技公開的預(yù)訓(xùn)練模型,在BERT的基礎(chǔ)上從文本層面將漢字字體與字音的表示整合到語言模型的預(yù)訓(xùn)練中進(jìn)行了改進(jìn)。
本文將ERNIE作為預(yù)訓(xùn)練模型進(jìn)行實(shí)驗(yàn),與3.3節(jié)設(shè)計(jì)的七種方法進(jìn)行對比實(shí)驗(yàn),具體的實(shí)驗(yàn)結(jié)果如表5所示。
表5 不同方法的實(shí)驗(yàn)結(jié)果 (單位: %)
從表5中的數(shù)據(jù)可以看出:
(1) 本文提出的模型在驗(yàn)證集與測試集上表現(xiàn)均優(yōu)于其他七種模型,說明本文融合漢字形音義與標(biāo)簽嵌入的方法針對文本層面與標(biāo)簽層面上語義交叉干擾的語義判別是有效的。
(2) 本文的模型不僅優(yōu)于ERNIE,而且優(yōu)于ChineseBERT模型,是因?yàn)橐环矫嫦啾扔贓RNIE,本文的模型將文本語義層面的漢字字形、拼音與釋義信息整合到模型中,增強(qiáng)了除漢字字符信息外的文本語義表示;另一方面,相比于ChineseBERT,本文的模型還從標(biāo)簽語義的層面融入了標(biāo)簽信息到模型中,捕獲了標(biāo)簽層面隱含的文本語義信息。
綜上,這充分說明了從文本層面與標(biāo)簽層面融合漢字形音義多元知識的表示與標(biāo)簽信息的表示有助于提升模型的性能。
為了驗(yàn)證不同模塊的有效性,本文分別對信息整合層(Information Integration Layer,IIL)、標(biāo)簽嵌入層(Label Embedding Layer,LEL)進(jìn)行消融去掉,來觀測模型性能的變化,具體結(jié)果如表6所示。
表6 消融實(shí)驗(yàn)的結(jié)果 (單位: %)
表6中的數(shù)據(jù)可以看出:
(1) 信息整合層(IIL)與標(biāo)簽嵌入層(LEL)均會(huì)影響模型的性能。其中,消融去掉標(biāo)簽嵌入層(LEL)后,模型的性能下降較大,說明標(biāo)簽嵌入層(LEL)貢獻(xiàn)較大。這表明在現(xiàn)階段模型缺失的語義信息中,標(biāo)簽信息所占的比例更大。
(2) 相比于模型-ALL,模型-LEL的性能也取得了一定的提升,這說明信息整合層(IIL)的融合漢字形音義多元知識的表示有助于增強(qiáng)文本原先的語義表示,進(jìn)而提升模型匹配判別的性能。
為了驗(yàn)證本文方法的泛化性與魯棒性,本文選取了CCF-BDCI-2021來自真實(shí)應(yīng)用場景問題匹配的評測數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。由于CCF-BDCI-2021問題匹配評測任務(wù)主辦方未公開測試集,本文只能在訓(xùn)練集與驗(yàn)證集上進(jìn)行測試。本文將原始驗(yàn)證集按照1:1的比例進(jìn)行隨機(jī)等比例切分,形成新的驗(yàn)證集與測試集,數(shù)據(jù)劃分比例如表4所示。
與此同時(shí),本文選取了傳統(tǒng)模型與現(xiàn)階段主流的預(yù)訓(xùn)練模型進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表7所示。
表7 模型泛化能力實(shí)驗(yàn)結(jié)果 (單位: %)
由表7的實(shí)驗(yàn)結(jié)果可以看出:
相比于傳統(tǒng)模型與現(xiàn)階段主流的預(yù)訓(xùn)練語言模型,本文的模型融合漢字形音義的文本語義表示與標(biāo)簽嵌入的標(biāo)簽語義表示得到了明顯的性能提升,這充分說明了本文提出的模型有較好的泛化能力。
為了驗(yàn)證本文方法在不同數(shù)據(jù)類型上的性能,本文進(jìn)一步對模型的預(yù)測數(shù)據(jù)進(jìn)行了分析。
3.7.1 案例對比分析
經(jīng)過對比分析,我們發(fā)現(xiàn),本文的模型在文本層面的拼音及釋義產(chǎn)生的問題上表現(xiàn)較好,具體細(xì)節(jié)如圖5所示。
圖5 漢字形音義角度案例分析對比圖
其中,query1和query2分別表示待匹配的兩個(gè)文本;label表示真實(shí)匹配標(biāo)簽;左半部分的pred_label與y_probs分別表示ERNIE最終預(yù)測結(jié)果與對應(yīng)的概率;右半部分的final_pred_label表示本文模型最終預(yù)測結(jié)果;pred_class_label和pred_superviser_label分別表示中間過程分類標(biāo)簽的預(yù)測結(jié)果及生成的監(jiān)督標(biāo)簽結(jié)果。
如E1所示,大規(guī)模預(yù)訓(xùn)練模型ERNIE從漢字字符的角度可區(qū)分開來E1中的“螨蟲”和“滿蟲”的差異,并認(rèn)為二者的語義不一致。然而E1真實(shí)語境下的標(biāo)簽為一致,ERNIE基于漢字字符并未學(xué)習(xí)到二者的一致性。然而本文的方法,融合字形、拼音與釋義的信息后,可從拼音的角度強(qiáng)化其語義信息,最終預(yù)測正確。如E2所示,針對單義現(xiàn)象,在不經(jīng)過釋義信息融合的情況下,ERNIE并不能得到正確的預(yù)測結(jié)果,而本文經(jīng)過融合釋義信息對文本語義增強(qiáng),模型可對“獼猴桃”與“奇異果”的案例預(yù)測正確。如E3所示,針對多義現(xiàn)象,本文將一詞多義的詞語釋義進(jìn)行拼接,最大程度地為模型釋義維度提供了最優(yōu)釋義信息,使得由缺失釋義信息導(dǎo)致錯(cuò)誤的樣本“賣”與“買”的案例可預(yù)測正確。
與此同時(shí),我們發(fā)現(xiàn),本文的模型融合標(biāo)簽嵌入的表示在一定程度上可彌補(bǔ)預(yù)訓(xùn)練模型的部分缺陷。例如,預(yù)訓(xùn)練模型會(huì)傾向于將字符重疊度較高的文本視為語義一致。如圖6所示,ERNIE會(huì)認(rèn)為“這個(gè)季節(jié)吃什么水果好”與“各個(gè)季節(jié)吃什么水果好”的語義一致。同樣,本文的模型基于漢字形音義信息也未捕獲到二者的區(qū)別,但本文模型融合標(biāo)簽特征信息后,對分類匹配標(biāo)簽進(jìn)行監(jiān)督再判別,最終預(yù)測正確。
圖6 標(biāo)簽嵌入角度案例分析對比圖
3.7.2 錯(cuò)誤案例分析
通過對本文模型預(yù)測的數(shù)據(jù)進(jìn)行分析,我們篩選出了模型預(yù)測錯(cuò)誤的案例,如圖7所示。
圖7 錯(cuò)誤案例示例圖
經(jīng)過分析,我們發(fā)現(xiàn):
首先,本文的模型覆蓋的釋義尚且不全面。如圖7中E5所示,模型并未精準(zhǔn)識別“一米五以上小孩”是“未成年小孩”。因此該樣本預(yù)測錯(cuò)誤,且預(yù)訓(xùn)練模型ERNIE也未正確預(yù)測。
其次,本文的模型對涉及到的句法結(jié)構(gòu)變換語義的樣本數(shù)據(jù)并不敏感。如圖7中E6和E7所示,“過期的茶葉”與“茶葉快過期”、“為什么……公交卡……”與“公交卡為啥……”,標(biāo)簽嵌入方法并未對此類樣本語義的計(jì)算產(chǎn)生積極的影響。
再次,本文的模型尚且無法區(qū)分程度等修飾語的語義成分。如圖7中E8和E9所示,“最好看”與“好看”、“挺難受”與“很難過”的程度修飾語義未能被捕捉,導(dǎo)致模型預(yù)測錯(cuò)誤。
最后,本文的模型并未徹底解決由一詞多義導(dǎo)致的真實(shí)釋義選取不準(zhǔn)確的問題,目標(biāo)僅是最大程度地覆蓋模型所需的釋義。
本文圍繞文本語義匹配任務(wù)中文本層面和標(biāo)簽層面的語義問題進(jìn)行研究,提出一種基于漢字形音義與標(biāo)簽嵌入的文本語義匹配模型。
該模型采用知識融合與標(biāo)簽嵌入的方法引入文本層面與標(biāo)簽層面隱含語義知識,提升了文本語義匹配的性能。該模型從文本語義層面進(jìn)行了漢字字形、拼音及釋義的多元知識整合,解決了文本層面涉及形、音、義多維度的語義交叉干擾的問題;從標(biāo)簽語義層面進(jìn)行了標(biāo)簽信息的嵌入表示,并進(jìn)一步引入標(biāo)簽監(jiān)督信息,豐富了文本潛在的語義信息。經(jīng)過實(shí)驗(yàn)對比,驗(yàn)證了本文模型的有效性。進(jìn)一步對案例分析發(fā)現(xiàn),在提升模型性能的同時(shí),本文的方法在釋義覆蓋、句法結(jié)構(gòu)、程度修飾以及一詞多義的釋義信息等細(xì)節(jié)問題上尚且存在一定的缺陷,后續(xù)的研究中將從句法結(jié)構(gòu)、語法信息等角度圍繞這些問題展開研究。