劉 璐,彭詩雅,玉 郴,于 東
(北京語言大學(xué) 信息科學(xué)學(xué)院,北京 100083)
自然語言中存在大量命題,這些命題中大都包含文本中的關(guān)鍵信息。正確理解這些命題可以輔助自然語言理解,促進(jìn)相關(guān)任務(wù)的發(fā)展,如文本摘要、閱讀理解、文本推斷等。命題和命題形式是形式邏輯的研究對象。在形式邏輯中,判斷是對于思維對象有所肯定或否定的一種思維形式[1],命題是判斷的語言表達(dá)[2]。命題是表達(dá)了對事物情況有所肯定或否定的陳述句,它蘊含了或真或假的思想。如果一個句子是命題,它的陳述就一定能區(qū)分真假,否則,它就不是命題[2]。自然語言中,大部分命題都是由邏輯聯(lián)結(jié)詞引導(dǎo)的,本文將這類命題稱為顯式命題?!缎问竭壿嫛穂2]一書對命題類型做了細(xì)致的劃分,我們關(guān)注其中的四個類型的命題在自然語言文本中的表現(xiàn),這四種類型分別是性質(zhì)命題、聯(lián)言命題、選言命題和假言命題。
自然語言中有邏輯聯(lián)結(jié)詞的句子不一定是顯式命題,顯式命題也往往包含阻礙理解的冗余信息。本文提出兩個任務(wù): 自然語言顯式命題自動識別和命題關(guān)鍵成分解析。自然語言顯式命題自動識別任務(wù)要求判斷一個子句是否為命題,如表1中,S1不是命題,S2是命題;命題關(guān)鍵成分解析要求解析出支撐命題成立的關(guān)鍵成分,S2中的“子囊果是子囊殼的核菌綱真菌”和“歸于球殼目”就是該命題的關(guān)鍵成分。我們基于百度百科(1)https://baike.baidu.com/語料為兩個任務(wù)建立了大規(guī)模人工標(biāo)注語料庫。
表1 標(biāo)注范例(“1”代表是命題,“0”代表不是命題)
顯式命題自動識別任務(wù)可以轉(zhuǎn)化為單句的二分類問題。我們將傳統(tǒng)的統(tǒng)計學(xué)習(xí)方法支持向量機(jī)(support vector machine,SVM)[3]作為該任務(wù)的基線模型,構(gòu)建雙向長短期記憶網(wǎng)絡(luò)(bi-directional long short-term memory,BiLSTM)[4]作為對照。此外,我們利用Tranformer的雙向編碼器表示(bidirectional encoder representation from transformers,BERT)[5]在本任務(wù)上微調(diào)作為分類模型之一。BERT作為一種新型的語言模型,能充分利用大量無監(jiān)督數(shù)據(jù)將語言學(xué)知識隱含地引入特定任務(wù)中,在11個自然語言處理任務(wù)中達(dá)到目前最好的效果。BERT在文本分類上表現(xiàn)優(yōu)越[5],適合作為顯式命題自動識別任務(wù)的模型之一。
命題關(guān)鍵成分解析任務(wù)可以轉(zhuǎn)化為序列標(biāo)注問題。本文主要采用傳統(tǒng)統(tǒng)計學(xué)習(xí)模型條件隨機(jī)場(conditional random field,CRF)[6]作為該任務(wù)的基線模型。我們構(gòu)建目前流行的序列標(biāo)注模型BiLSTM-CRF(BiCRF)[7],進(jìn)一步探索BiLSTM對于特征的選擇能力。另外,我們構(gòu)建BERT-BiLSTM-CRF(BBiCRF)用于該任務(wù),以充分利用BERT在處理百科語料上的優(yōu)勢。
實驗結(jié)果表明,BERT模型在顯式命題自動識別任務(wù)上的正確率高達(dá)到74.95%,超過基線模型15.30%;BBiCRF模型在命題關(guān)鍵成分解析任務(wù)上的F值達(dá)到90.74%,超過基線模型17.69%。
本文結(jié)構(gòu)如下: 第1節(jié)介紹國內(nèi)外自然語言中命題的研究現(xiàn)狀;第2節(jié)介紹本次實驗涉及到的命題并逐一分析;第3節(jié)介紹數(shù)據(jù)標(biāo)注工作,并分析標(biāo)注結(jié)果;第4節(jié)和第5節(jié)在兩項任務(wù)上分別設(shè)計模型進(jìn)行實驗,比較不同模型在數(shù)據(jù)集上的表現(xiàn)能力,同時對數(shù)據(jù)集的特點做出解釋。最后一節(jié)對論文工作進(jìn)行總結(jié)和展望。
自然語言中的命題研究一直以來都受到各界學(xué)者的關(guān)注。國內(nèi)關(guān)于形式邏輯的研究主要集中在邏輯學(xué)和語言學(xué)領(lǐng)域[8-10]。李先焜[11]定義了語言邏輯的概念,闡述了語言邏輯的地位,梳理了研究語言邏輯的方法,解釋了語言邏輯的研究意義。周禮全[12]區(qū)分了正統(tǒng)邏輯和自然語言邏輯。龔啟榮[13]強(qiáng)調(diào)了當(dāng)代形式邏輯研究對人工智能發(fā)展的重要性,他認(rèn)為當(dāng)代形式邏輯是人工智能最合適的工具。高逢亮[8]從語義學(xué)、語法學(xué)、語用學(xué)和修辭學(xué)等不同領(lǐng)域展開研究,深入探討了邏輯學(xué)和語言學(xué)之間的關(guān)系,肯定了邏輯學(xué)對于語言理解的重要性。
現(xiàn)有命題研究大多集中在哲學(xué)和語言學(xué)領(lǐng)域。在哲學(xué)領(lǐng)域,周文華[14]分析了現(xiàn)有的一些命題定義的特點,并給出了新的命題定義。他將命題定義為具有某種屬性的對象。楊宏郝[15]闡述了命題和判斷之間的關(guān)系,他提出判斷無邏輯結(jié)構(gòu)可言,只有作為語句的命題和作為語句模式的命題形式才有邏輯結(jié)構(gòu)。在語言學(xué)領(lǐng)域,沈園[16]討論了邏輯判斷基本類型劃分,說明邏輯判斷是與語法、語用等各方面有著密切聯(lián)系而又相對獨立的一個范疇。李勤[9]從邏輯中判斷的分類出發(fā),對句子語義中的命題進(jìn)行了分類。韓鐵穩(wěn)[17]認(rèn)為邏輯常項是區(qū)分邏輯思維形式的標(biāo)志,對邏輯常項的語言形式進(jìn)行了匯總。黃士平[18]認(rèn)為邏輯常項是邏輯形式中不變的部分,將表述邏輯常項的語言形式直接出現(xiàn)稱為顯性形式,將未直接出現(xiàn)稱為隱性形式,并分析了邏輯常項的隱性形式。
以上研究是從語言學(xué)角度和哲學(xué)角度對形式邏輯以及命題的一些研究。在計算語言學(xué)領(lǐng)域,與命題直接相關(guān)的研究較少,部分研究關(guān)注篇章句間關(guān)系,這種關(guān)系也和語言邏輯相關(guān)。
張牧宇等人[19]總結(jié)了中文篇章及語義分析的特點,提出面向中文篇章句間關(guān)系的層次化語義關(guān)系體系,對句間關(guān)系類型進(jìn)行詳細(xì)描述,并在新聞?wù)Z料上進(jìn)行了標(biāo)注。隨后,張牧宇等人[20]對中文篇章句間關(guān)系識別任務(wù)進(jìn)行初步探索,他們根據(jù)文本單元間是否存在篇章連接詞將關(guān)系分為顯式篇章句間關(guān)系和隱式篇章句間關(guān)系。
基于邏輯學(xué)和語言學(xué)對命題類型劃分的研究成果,本文提出自然語言顯式命題自動識別任務(wù)和命題關(guān)鍵成分解析任務(wù),并基于百度百科語料為兩個任務(wù)建立了大規(guī)模人工標(biāo)注語料庫。
在自然語言中,命題是表達(dá)了對事物情況有所肯定或否定的陳述句,它蘊含了真或假的思想。如果一個句子是命題,它的陳述就一定能區(qū)分真假,否則,它就不是命題[2]。例如:
T1: 所有聲音都稱之為音頻。
T2: 正因為如此,使得它不但能夠與世界的頂尖時尚風(fēng)潮同步,而且更能體現(xiàn)亞洲女性的嬌柔與美感。
T1是命題,T2不是命題。T2中代詞“它”指代不明確,難以辨別真或假,因此該句不是命題。
根據(jù)一個命題本身是否包含有其他命題可把命題分為兩類: 一類是本身不包含其他命題的簡單命題,包括性質(zhì)命題、關(guān)系命題;另一類是包含了其他命題的復(fù)合命題,包括聯(lián)言命題、選言命題、假言命題和負(fù)命題等。本研究針對其中的性質(zhì)命題、聯(lián)言命題、選言命題和假言命題展開(見表2)。
表2 性質(zhì)命題、聯(lián)言命題、選言命題和假言命題的例句及關(guān)鍵成分
2.1.1 性質(zhì)命題
性質(zhì)命題是一種簡單命題,是斷定事物具有某種性質(zhì)的命題,由邏輯常項和邏輯變項組成。
邏輯變項: 分為主項和謂項。主項是表示命題對象的概念,謂項是表示命題對象所具有或不具有的某種性質(zhì)的概念。
邏輯常項: 分為量項和聯(lián)項。量項是表示命題對象數(shù)量的概念,聯(lián)項是用來聯(lián)系主項與謂項的概念。
表2的例句T3中,主項是“白貓”,謂項是“哺乳動物”。量項是“所有”,聯(lián)項是“是”。
2.1.2 聯(lián)言命題
聯(lián)言命題是復(fù)合命題的一種,是斷定事物的若干情況同時存在的命題。聯(lián)言命題一般由聯(lián)言肢和聯(lián)言聯(lián)結(jié)詞組成。
聯(lián)言肢: 聯(lián)言命題所包含的簡單命題稱為聯(lián)言肢。
聯(lián)言聯(lián)結(jié)詞: 表達(dá)聯(lián)言命題的邏輯聯(lián)結(jié)詞稱為聯(lián)言聯(lián)結(jié)詞。
表2的例句T4中,聯(lián)言肢為“味噌可以做成湯品”和“味噌能與肉類烹煮成菜”。聯(lián)言聯(lián)結(jié)詞為“既……又”。
2.1.3 選言命題
選言命題也是復(fù)合命題的一種,是斷定事物若干種可能情況的命題。選言命題由選言肢和選言聯(lián)結(jié)詞組成。
選言肢: 選言命題所包含的簡單命題稱為選言肢。
選言聯(lián)結(jié)詞: 表達(dá)選言命題的邏輯聯(lián)結(jié)詞稱為選言聯(lián)結(jié)詞。
表2的例句T5中,選言肢為“海角天涯形容彼此相隔極遠(yuǎn)”和“海角天涯形容事物的盡頭”。選言聯(lián)結(jié)詞為“……或……或……”。
2.1.4 假言命題
假言命題也是復(fù)合命題的一種,是斷定事物情況之間條件關(guān)系的命題。假言命題由假言肢和選言聯(lián)結(jié)詞組成。
假言肢: 假言命題所包含的簡單命題稱為假言肢。
假言聯(lián)結(jié)詞: 表達(dá)假言命題的邏輯聯(lián)結(jié)詞稱為假言聯(lián)結(jié)詞。
表2的例句T6中,假言肢為“左耳先聽到聲音”和“聽者就覺得這個聲音是從左邊來的”。假言聯(lián)結(jié)詞為“如果…那么…”。
2.1.5 四類命題在自然語言中的邏輯常項
邏輯常項是邏輯形式中不變的部分,即在同類型的邏輯形式中都存在的部分[18]。常項在思維邏輯形式中起決定作用,它是區(qū)分思維邏輯形式的標(biāo)志[17]。在上述四種命題中,性質(zhì)命題的邏輯常項包括量項和聯(lián)項,而聯(lián)言命題、選言命題和假言命題中的聯(lián)結(jié)詞就是邏輯常項。
根據(jù)《形式邏輯》[2]一書中總結(jié)的文本中的常見的邏輯常項,我們匯總并補(bǔ)充了四類命題在文本中常見的邏輯常項,見表3。
表3 各類命題在文本中的邏輯常項
自然語言中的顯式命題也往往包含冗余信息。抽取命題的關(guān)鍵成分有利于理解自然語言。命題的關(guān)鍵成分是指構(gòu)成該命題成立的最基本要素。
段士平[21]將語塊定義為以整體形勢存儲在大腦記憶庫中,并可以作為預(yù)制板塊,供人們提取使用的多詞單位。通俗地講,語塊的概念淡化了原有的詞匯與語法之間的界限,不僅包括多詞的搭配、句子框架,還可以擴(kuò)大到句子,甚至語篇。參考段士平[21]對“語塊”的定義,我們將命題的關(guān)鍵成分定義為構(gòu)成命題最基本的幾個語塊。
性質(zhì)命題的關(guān)鍵成分是指命題中構(gòu)成主項和謂項的最小語塊。例如,“白貓”和“哺乳動物”是性質(zhì)命題“所有的白貓都是哺乳動物”的關(guān)鍵成分(見表2,T3)。
聯(lián)言命題的關(guān)鍵成分是指構(gòu)成各聯(lián)言肢中主項和謂項的最小語塊。例如,“味噌”“可以做成湯品”和“能與肉類烹煮成菜”是聯(lián)言命題“味噌,既可以做成湯品,又能與肉類烹煮成菜”的關(guān)鍵成分(見表2,T4)。
選言命題的關(guān)鍵成分是指構(gòu)成各選言肢中主項和謂項的最小語塊。例如,“海角天涯”“彼此相隔極遠(yuǎn)”和“事物的盡頭”是選言命題“成語釋義海角天涯釋義形容極遠(yuǎn)的地方,或彼此相隔極遠(yuǎn),或者事物的盡頭”的關(guān)鍵成分(見表2,T5)。
假言命題的關(guān)鍵成分是指構(gòu)成各假言肢中主項和謂項的最小語塊。例如,“左耳先聽到聲音”和“聽者就覺得這個聲音是從左邊來的”是假言命題“如果左耳先聽到聲音,那么聽者就覺得這個聲音是從左邊來的,反之亦然”的關(guān)鍵成分(見表2,T6)。
本次邏輯命題挖掘和標(biāo)注任務(wù)主要分為數(shù)據(jù)選擇和預(yù)處理、制訂標(biāo)注規(guī)范、數(shù)據(jù)標(biāo)注、數(shù)據(jù)標(biāo)注結(jié)果分析幾個步驟,圖1是本次數(shù)據(jù)標(biāo)注的整體流程。
圖1 標(biāo)注流程圖
顯式命題可能出現(xiàn)在任何類型的自然語言文本中。合適的語料來源能挖掘更多、更有效的語料。因此語料來源的選擇至關(guān)重要,直接關(guān)系到標(biāo)注的難度和成本。為此,本文收集、對比并分析了文學(xué)語料、微博語料(2)https://weibo.com和百度百科語料(見表4)。
微博是一種信息發(fā)布及社交網(wǎng)絡(luò)平臺[22]。用戶可以通過發(fā)表微博來記錄生活、分享心情、表達(dá)觀點等。微博中抽取的句子的句式比較隨意,且通常含有較多語氣詞(如表4中,“哈哈”“啦”和“的啦”等)。文學(xué)語料雖然結(jié)構(gòu)完整、文本規(guī)范,但其內(nèi)容往往很難控制。大部分文學(xué)作品或多或少涉及到各類虛擬人物或事物,這導(dǎo)致難以判斷文本的真假性。如表4中,“許多”和“時代”是文學(xué)作品中創(chuàng)作的虛擬人物,因此與他們相關(guān)事物的真假較難判斷。除此之外,文學(xué)作品大多敘事,較少出現(xiàn)對某些事物有所肯定或否定的表達(dá)。百科語料是內(nèi)容開放、自由的網(wǎng)絡(luò)百科全書。與微博語料相比,其結(jié)構(gòu)更為完整、規(guī)范,語句更通順;與文學(xué)語料相比則更具真實性和普適性。如表4中,百度百科例句有明確的描述事物“資本主義”及性質(zhì)“資本主導(dǎo)社會經(jīng)濟(jì)和政治的意義”,并能辨別真假。因此,本文選擇百度百科作為數(shù)據(jù)來源。
表4 三種語料來源對比
本次研究共選取2 111 764條百科詞條對應(yīng)的簡短描述,并去除了不完整的句子。我們把四種命題類型的常見邏輯常項作為觸發(fā)詞,從語料中抽取各類命題的候選集。篩選得到24 337條候選顯式命題。我們招募5名具有語言學(xué)背景的研究生和本科生對24 337條顯式命題集進(jìn)行標(biāo)注。具體流程在后續(xù)章節(jié)中詳述。
本次標(biāo)注主要包含兩個任務(wù): 是否命題標(biāo)注和命題關(guān)鍵成分標(biāo)注。
在是否命題標(biāo)注階段,標(biāo)注者需要標(biāo)出一個陳述句是否為命題,該階段主要是判斷前面給出的命題句是否是一個合格的命題,若是合格的命題,則標(biāo)注為1;若是不合格的命題,則標(biāo)注為0。根據(jù)命題的定義,我們提出以下兩個命題標(biāo)注規(guī)范:
規(guī)則1: 該命題描述的主體是一個明確的概念或者某一明確的事件,例如: 味噌、阮和海獺等,而不是一些代詞,如她、他、它、這個和那個等。例如,陳述句“大部分時間里,海獺不是仰躺著浮在水面上,潛入海床覓食,當(dāng)它們待在海面時,幾乎一直在整理毛皮,保持它的清潔與防水性”符合規(guī)則1,因為其包含明確的描述主體“海獺”。而陳述句“這個畫派的活動時間雖然不是很長,但是對于19世紀(jì)的英國繪畫史及方向,帶來了很大的影響”不符合規(guī)則1,其描述主體是代詞“這個”。
規(guī)則2: 該命題符合其所在的“命題類型”大類的普遍定義和特征。例如“三葉草是優(yōu)質(zhì)豆科牧草,莖葉細(xì)軟,葉量豐富,粗蛋白含量高,粗纖維含量低,既可放養(yǎng)牲畜,又可飼喂草食性魚類”是符合定義和性質(zhì)的聯(lián)言命題。而陳述句“錫勒圖庫倫歷史上雖然以喇嘛旗著稱,但是原來沒有喇嘛教的學(xué)塾”盡管是由聯(lián)言聯(lián)結(jié)詞“雖然……但是……”引導(dǎo)的,但其不符合聯(lián)言命題定義,沒有闡述事物的若干情況同時存在。
在命題關(guān)鍵成分標(biāo)注階段,標(biāo)注者需要進(jìn)行兩項任務(wù),一是核查命題,即對第一步標(biāo)注的是否命題數(shù)據(jù)進(jìn)行再次審查,確保流入第二階段數(shù)據(jù)的有效性;二是參照前文對于命題關(guān)鍵成分的定義將構(gòu)成命題的關(guān)鍵片段抽取出來,要求盡量直接復(fù)制、粘貼,而不是自己鍵盤輸入,避免由于鍵入產(chǎn)生的誤差。
標(biāo)注工作分為兩個步驟: 第一步是對已有命題候選集中每一條數(shù)據(jù)進(jìn)行“0-1”標(biāo)注;第二步是對第一步中被標(biāo)注為“1”的數(shù)據(jù)進(jìn)行關(guān)鍵成分抽取。本次標(biāo)注的總體流程如圖1所示。
5名語言學(xué)專業(yè)的碩士生和本科生參與了標(biāo)注。整體的標(biāo)注分為培訓(xùn)、試標(biāo)注、正式標(biāo)注三個環(huán)節(jié)。
在線下培訓(xùn)環(huán)節(jié),介紹了標(biāo)注任務(wù)、界定了命題的概念及不同類型命題的定義及劃分。
在試標(biāo)注環(huán)節(jié),5名標(biāo)注人員對同樣的100條候選的命題句進(jìn)行“0-1”標(biāo)注以確保標(biāo)注人員完全理解了標(biāo)注規(guī)范。一致性檢驗結(jié)果顯示,5名標(biāo)注者之間的一致性較好(Fleiss’ kappa=0.69[23]),說明培訓(xùn)后的標(biāo)注員理解了標(biāo)注規(guī)范,可以進(jìn)行正式標(biāo)注。
正式標(biāo)注環(huán)節(jié)可分為兩個階段: 第一階段是判斷候選命題是否為命題,標(biāo)注者要求對候選命題進(jìn)行“0-1”判斷,是命題的候選句標(biāo)為“1”,不是命題的候選句標(biāo)為“0”。為了保證標(biāo)注結(jié)果的準(zhǔn)確性,第二階段有兩項標(biāo)注任務(wù): 對第一階段中標(biāo)注為“1”的數(shù)據(jù)進(jìn)行二次核查標(biāo)注。若核查之后該句子依舊被認(rèn)定為是符合規(guī)范的命題則標(biāo)為“1”并標(biāo)注命題關(guān)鍵成分;若核查之后認(rèn)定該命題不符合規(guī)范,則標(biāo)為“0”。我們從核查為1的數(shù)據(jù)中隨機(jī)選擇5 565條數(shù)據(jù)進(jìn)行第二階段標(biāo)注。第二階段進(jìn)行命題關(guān)鍵成分抽取,要求標(biāo)注員按照標(biāo)注規(guī)范標(biāo)記命題關(guān)鍵成分。
全部的標(biāo)注流程結(jié)束之后,將24 337條標(biāo)注為“0”和“1”的句子作為顯式命題自動識別任務(wù)的數(shù)據(jù)集,將標(biāo)注了關(guān)鍵成分的5 565條顯式命題作為關(guān)鍵成分解析任務(wù)的數(shù)據(jù)集。
本文從百度百科中抽取了24 337個候選命題進(jìn)行標(biāo)注,最終構(gòu)建了包含24 337條有效數(shù)據(jù)的自然語言顯式命題自動識別任務(wù)數(shù)據(jù)集和包含了5 565條數(shù)據(jù)的命題關(guān)鍵成分解析數(shù)據(jù)集。其中,自然語言顯式命題數(shù)據(jù)集包含14 625條非命題和9 712條命題。
我們將所構(gòu)建的數(shù)據(jù)集按照命題類型所占比例切割成訓(xùn)練集、驗證集、測試集三個部分。具體數(shù)據(jù)情況如表5所示。
表5 顯式命題自動識別和關(guān)鍵成分解析數(shù)據(jù)集統(tǒng)計
顯式命題自動識別是自動識別出某一句話是否為命題,可以抽象為“0-1”二分類問題。本文采用SVM[3]作為該任務(wù)的基線模型,并構(gòu)建BiLSTM[4]和在本任務(wù)上微調(diào)的BERT[5]進(jìn)行對照實驗。評價指標(biāo)為分類正確率。
4.1.1 Support Vector Machine(SVM)
SVM由Cortes和Vapnik[3]于1995年首先提出。它在解決小樣本、非線性及高維模式識別中表現(xiàn)很好,是現(xiàn)有機(jī)器學(xué)習(xí)中應(yīng)用最廣泛的一種分類算法。
本文基于scikit-learn(3)https://scikit-learn.org/stable/modules/svm.html實現(xiàn)SVM模型。SVM輸入特征為句子全部字向量的加和。本研究中使用的字向量由大規(guī)模百度百科語料預(yù)訓(xùn)練而來[24]。
4.1.2 Bi-directional Long Short-Term Memory(BiLSTM)
BiLSTM[4]的基本思想是每一個訓(xùn)練序列都有向前和向后的兩個LSTM(long short-term memory)。這個結(jié)構(gòu)將輸入序列中每一個點前向和后向的信息拼接起來作為完整的上下文信息提供給輸出層。本文將平均池化和最大池化的BiLSTM輸出拼接起來作為句子的最終表示,將其提供給分類器。
實驗代碼的實現(xiàn)基于tensorflow框架(4)https://tensorflow.google.cn/實現(xiàn),采用字級建模,使用預(yù)訓(xùn)練的字向量作為初始表示,字向量在訓(xùn)練過程中不斷更新。
4.1.3 Bidirectional Encoder Representation fromTransformers(BERT)
BERT[5]是一種新的語言表示模型。它的模型結(jié)構(gòu)由多層的雙向Transformer編碼器[25]構(gòu)成。BERT支持對特定的任務(wù)進(jìn)行微調(diào),只需要添加一個額外的輸出層,不需要對模型結(jié)構(gòu)進(jìn)行大量的修改。BERT作為一種新型的語言模型,充分利用大量無監(jiān)督數(shù)據(jù)將語言學(xué)知識隱含地引入特定任務(wù)中,在多項自然語言處理任務(wù)中達(dá)到了最優(yōu)結(jié)果[5]。因此,BERT模型能很好地遷移到顯式命題自動識別任務(wù)上。
對于顯式命題自動識別任務(wù),我們使用了Google AI開源的BERT代碼(5)https://github.com/google-research/bert,根據(jù)我們的任務(wù)調(diào)整部分參數(shù),微調(diào)過程載入Google AI在維基百科數(shù)據(jù)上預(yù)訓(xùn)練的中文模型。
首先,我們對比了SVM、BiLSTM和BERT三個模型在顯式命題自動識別任務(wù)2 000條測試集上的表現(xiàn)能力;其次,我們以準(zhǔn)確率最高的BERT模型為例,詳細(xì)地分析了該模型在不同長度和不同類型命題上的表現(xiàn)。
4.2.1 總體分析
表6展示了三個模型在顯式命題自動識別任務(wù)上的結(jié)果。SVM、BiLSTM和BERT在顯式命題自動識別任務(wù)中的測試集上正確率分別為59.65%、66.80%和74.95%。其中,BERT表現(xiàn)最好,比SVM高15.30%,比BiLSTM高8.15%。這可能是因為,BERT是基于大規(guī)模維基百科數(shù)據(jù)上預(yù)訓(xùn)練得到的模型進(jìn)行微調(diào)進(jìn)而進(jìn)行分類,百度百科數(shù)據(jù)和維基百科數(shù)據(jù)都是半結(jié)構(gòu)化的百科數(shù)據(jù)文本,因此它們在結(jié)構(gòu)上、內(nèi)容上都具有一定的相似性。因而,BERT在基于百度百科數(shù)據(jù)的顯式命題自動識別任務(wù)上表現(xiàn)較好。
表6 三個模型在顯式命題自動識別測試集的正確率
4.2.2 BERT在不同類型命題上的表現(xiàn)
圖2展示了BERT在本次研究中涉及到的四類命題上的識別正確率。從圖中我們可以明顯地看出,BERT模型對聯(lián)言命題和假言命題的識別正確率分別達(dá)到了80.60%和78.38%,說明BERT對聯(lián)言命題和假言命題的識別能力比較高。相反地,BERT模型對于性質(zhì)命題和選言命題的識別能力較差,正確率僅有72.74%和71.30%。
圖2 BERT在不同類型命題上的識別正確率
4.2.3 BERT在不同句長命題上的表現(xiàn)
圖3展示了BERT模型在不同長度命題上的顯式命題識別正確率。從圖中可以看出,BERT模型在不同長度命題上的表現(xiàn)并無明顯規(guī)律,這證明本次所建立的數(shù)據(jù)的難度是比較均勻的,不會受到句長因素的影響。
圖3 BERT在不同命題長度區(qū)間上的正確率
命題關(guān)鍵成分解析是從已有命題中提取出關(guān)鍵成分,可以抽象為序列標(biāo)注問題。本文采用四位標(biāo)記“BMES”對標(biāo)注數(shù)據(jù)進(jìn)行整理。每個關(guān)鍵成分的開頭部分被標(biāo)記為“B”,中間部分被標(biāo)記為“M”,結(jié)尾部分被標(biāo)記為“E”,關(guān)鍵成分為單字,則標(biāo)為“B”,其余非關(guān)鍵成分被標(biāo)記為“S”,如表7所示。
表7 命題關(guān)鍵成分解析標(biāo)記實例
5.1.1 Conditional Random Field(CRF)
CRF[6]是給定一組輸入序列,預(yù)測另一組輸出序列的條件概率分布的模型。CRF在預(yù)測時考慮相鄰數(shù)據(jù)的標(biāo)記信息。
本文使用開源的工具包CRF++(6)https://taku910.github.io/crfpp/實現(xiàn)本實驗。
5.1.2 BiLSTM-CRF(BiCRF)
基于神經(jīng)網(wǎng)絡(luò)的方法在序列標(biāo)注任務(wù)中非常流行。Lample等人[26]提出了基于詞和字符嵌入的BiLSTM-CRF命名實體識別模型。在序列標(biāo)注任務(wù)中,基于深度學(xué)習(xí)的BiLSTM被用來提取特征,CRF層為最終的預(yù)測標(biāo)簽添加一些約束。受到該模型的啟發(fā),本文使用基于字嵌入的BiLSTM-CRF作為命題關(guān)鍵成分解析的基準(zhǔn)模型之一。
本文使用開源工具包NCRF[7]實現(xiàn)了基于預(yù)訓(xùn)練字向量[24]的BiLSTM-CRF實驗。
5.1.3 BERT-BiLSTM-CRF(BBiCRF)
最近BERT模型刷新了自然語言處理多項任務(wù)的最高記錄?;诰S基百科預(yù)訓(xùn)練的BERT模型在處理百科數(shù)據(jù)上具有優(yōu)勢,因此我們構(gòu)建BBiCRF進(jìn)行實驗。BBiCRF的主要思想是使用BERT模型,在大規(guī)模語料庫上預(yù)訓(xùn)練上下文相關(guān)的字向量表示替換BiCRF的字向量,最終利用CRF層的輸出預(yù)測輸入序列的標(biāo)記。
我們對命名實體識別任務(wù)的開源工具包BBiCRF(7)https://github.com/macanv/BERT-BiLSTM-CRF-NER進(jìn)行修改并實現(xiàn)命題關(guān)鍵成分抽取模型。
首先,我們分析CRF、BiCRF、BBiCRF三個模型在命題關(guān)鍵成分解析任務(wù)500條測試集上的表現(xiàn)能力;其次,以BERT模型為例,詳細(xì)地分析了該模型在不同命題類型數(shù)據(jù)上的表現(xiàn)能力;再次,選取部分實際數(shù)據(jù)案例,分析其在三個模型上的序列標(biāo)注結(jié)果,詳述每個模型識別的異同。最后,為驗證關(guān)鍵成分的有效性,我們用5 565條命題的關(guān)鍵成分替換顯式命題識別數(shù)據(jù)集中的相應(yīng)命題,并在BERT上進(jìn)行實驗。
5.2.1 總體分析
表8展示了三個模型在命題關(guān)鍵成分解析任務(wù)上的實驗結(jié)果。CRF、BiCRF、BBiCRF在該任務(wù)測試集上F值分別為: 73.05%、83.45%和90.74%。其中,BBiCRF表現(xiàn)最好,比CRF高17.69%,比BiCRF高7.29%,這得益于BERT在大規(guī)模維基百科上的預(yù)訓(xùn)練。而BiLSTM處理了長距離的依賴問題,加強(qiáng)了局部窗口的聯(lián)系,這使得BiCRF模型得到的標(biāo)注結(jié)果的準(zhǔn)確率、召回率、F值分別比CRF模型提高3.98%、17.44%和10.4%。
表8 模型在命題關(guān)鍵成分解析測試集的表現(xiàn)(%)
5.2.2 BBiCRF在不同類型命題上的表現(xiàn)
為進(jìn)一步分析模型在命題關(guān)鍵成分解析任務(wù)上的表現(xiàn),我們在圖4中展示了BBiCRF在解析不同類型命題的關(guān)鍵成分時的實驗結(jié)果。
圖4 BBiCRF在不同類型命題上的表現(xiàn)
從圖4中看出,BBiCRF對選言命題的標(biāo)注能力較高,標(biāo)注準(zhǔn)確率達(dá)98.28%,F(xiàn)值也達(dá)到95.80%,這可能是由于所構(gòu)建的數(shù)據(jù)集中選言命題的數(shù)量較少所致。如何在樣本量差距較大的情況下還能平均地學(xué)習(xí)到每個類型命題的特點并進(jìn)行關(guān)鍵成分解析是未來研究的重難點之一。我們也將在未來的數(shù)據(jù)集完善過程中增大選言命題的規(guī)模。除此之外,BBiCRF對其他類型命題的標(biāo)注結(jié)果比較平均,這說明數(shù)據(jù)集內(nèi)每種類型命題在關(guān)鍵成分解析任務(wù)上的難度比較平均。
5.2.3 實例分析
我們選取部分實際數(shù)據(jù)案例,分析它們在CRF、BiCRF、BBiCRF三個模型上序列標(biāo)注的結(jié)果。圖5展示了我們從測試集中選擇的3條案例以及三個模型的解析結(jié)果。
圖5 實例分析
對于例1,CRF和BiCRF都沒有將第一個關(guān)鍵成分“玉田縣國家檔案館”標(biāo)注出來,而BBiCRF能正確地將關(guān)鍵成分標(biāo)注出來。與其他兩個模型相比,BiCRF能準(zhǔn)確地標(biāo)注出命題的幾個關(guān)鍵成分,漏標(biāo)關(guān)鍵成分的情況比較少。
對于例2,CRF錯誤地將“卻偏偏表現(xiàn)出對異性恐懼”標(biāo)注為一個關(guān)鍵成分片段,BiCRF則將“偏偏表現(xiàn)出對異性恐懼”標(biāo)為一個關(guān)鍵成分片段。CRF和BiCRF有時會將非關(guān)鍵成分片段標(biāo)為關(guān)鍵片段,BBiCRF能做出正確標(biāo)注。
對于例3,CRF和BiCRF在進(jìn)行第二個關(guān)鍵片段標(biāo)注時都錯誤地定位了片段的邊界,將“稱之為音頻”標(biāo)記為了“稱之為音頻,它可能包括噪音等”。以上兩個模型能很好地識別到命題關(guān)鍵成分所在的位置,但是對于其邊界判斷還存在問題,未能在結(jié)束位置停止標(biāo)注。相比前兩個模型,BBiCRF能很好地定位關(guān)鍵成分邊界。
綜上,CRF和BiCRF在進(jìn)行命題關(guān)鍵成分解析任務(wù)時會出現(xiàn)關(guān)鍵成分漏標(biāo)、錯誤標(biāo)注關(guān)鍵成分邊界的情況,而CRF更是會出現(xiàn)將非關(guān)鍵成分標(biāo)注為關(guān)鍵成分的情況。BBiCRF則在這些問題上有很好的表現(xiàn)。
5.2.4 BERT在關(guān)鍵成分?jǐn)?shù)據(jù)集上的表現(xiàn)
為探究關(guān)鍵成分是否能代表命題中的關(guān)鍵信息,我們在顯式命題自動識別任務(wù)上利用解析的關(guān)鍵成分進(jìn)行了實驗。
我們將顯式命題自動識別數(shù)據(jù)集中5 565命題替換為僅其關(guān)鍵成分,例如,用“招式 講究大開大闔”替換原命題“所有的招式都講究大開大闔,勢大力沉,大氣磅礴,沒有任何用來誘惑取巧的花樣”。
我們用BERT在替換后的數(shù)據(jù)集上重新進(jìn)行實驗。實驗結(jié)果見表9。從表中可以看出,將部分命題替換為關(guān)鍵成分后,BERT在替換后測試集上的正確率達(dá)到了82.70%,比在原始數(shù)據(jù)測試集上提升了7.75%。在替換為關(guān)鍵成分的命題數(shù)據(jù)上,識別正確率更是達(dá)到了98.20%,比在原始被替換的命題數(shù)據(jù)上提高了16.22%。結(jié)果證明了我們提取的關(guān)鍵成分有效地提升了命題自動識別的正確率,命題中的關(guān)鍵成分可以代表命題的關(guān)鍵信息。
表9 BERT在命題自動識別測試集上的表現(xiàn)
本文提出自然語言顯式命題自動識別任務(wù)和命題關(guān)鍵成分解析任務(wù)。顯式命題自動識別的目的是判斷一個自然語言句子是否為命題。命題解析是從已獲取的命題中解析出支撐該命題成立的關(guān)鍵成分。為此,我們?yōu)閮蓚€任務(wù)建立了大規(guī)模人工標(biāo)注數(shù)據(jù)集,分別是: 包含24 337條有效數(shù)據(jù)的自然語言顯式命題自動識別數(shù)據(jù)集和包含5 565條數(shù)據(jù)的命題關(guān)鍵成分解析數(shù)據(jù)集。通過構(gòu)建基于統(tǒng)計學(xué)習(xí)和基于深度學(xué)習(xí)的模型,我們在自然語言顯式命題自動識別和命題關(guān)鍵成分解析兩個任務(wù)上進(jìn)行了初探。實驗結(jié)果表明,本文提出的深度學(xué)習(xí)模型能有效識別顯式命題并解析顯式命題的關(guān)鍵成分,為下一步研究提供了可靠的基線方法。本文數(shù)據(jù)已經(jīng)公布在https://github.com/blcunlp/Explicit-Propositions。
自然語言中的命題可以分為顯式命題和隱式命題,本文主要研究的是自然語言中的顯式命題,在未來的工作中我們將逐漸探索自然語言中的隱式命題。本次研究根據(jù)性質(zhì)命題、聯(lián)言命題、選言命題和假言命題四種類型的命題及其觸發(fā)詞在百度百科數(shù)據(jù)源上篩選并構(gòu)建了數(shù)據(jù)集,未來將通過人工標(biāo)注的方法嘗試在更多的數(shù)據(jù)源上進(jìn)一步擴(kuò)大數(shù)據(jù)集規(guī)模,涵蓋更多的命題類型,如關(guān)系命題和負(fù)命題等,為后續(xù)模型研究提供良好的數(shù)據(jù)基礎(chǔ)。
本文工作為顯式命題自動識別和關(guān)鍵成分解析的研究提供了可以研究和改進(jìn)的方向,包括: ①擴(kuò)展命題類型,目前涉及到四種顯式命題,未來可在其他類型命題上進(jìn)一步擴(kuò)展; ②擴(kuò)充從自然語言文本中挖掘候選命題時用的觸發(fā)詞表,針對每一類命題,繼續(xù)探索可用的觸發(fā)詞,以擴(kuò)大語料規(guī)模; ③從更多的數(shù)據(jù)源中挖掘命題,擴(kuò)大命題數(shù)據(jù)集的規(guī)模; ④嘗試隱式命題的挖掘; ⑤進(jìn)一步強(qiáng)化兩個任務(wù)的模型,提高模型的學(xué)習(xí)能力。