徐 春,李勝楠
新疆財(cái)經(jīng)大學(xué) 信息管理學(xué)院,烏魯木齊 830012
隨著人們的收入和消費(fèi)水平的日益提高,越來越多的國(guó)人開始注重精神上的滿足,旅游業(yè)已經(jīng)成為國(guó)民經(jīng)濟(jì)的戰(zhàn)略性支柱產(chǎn)業(yè)[1]?;ヂ?lián)網(wǎng)上的旅游信息呈現(xiàn)出散亂、無序和關(guān)聯(lián)性不強(qiáng)的問題,給旅游業(yè)的發(fā)展造成阻礙,給大數(shù)據(jù)環(huán)境下旅游知識(shí)的組織和利用帶來挑戰(zhàn)。知識(shí)圖譜具有強(qiáng)大的語義處理能力和開放互聯(lián)能力,是一種高效的組織、管理、分析和查詢數(shù)據(jù)的方法[2]。將知識(shí)圖譜應(yīng)用于旅游領(lǐng)域不僅能夠?qū)崿F(xiàn)數(shù)據(jù)的集中存儲(chǔ)、統(tǒng)一分發(fā)以及共建共享,在推動(dòng)景區(qū)智能化信息管理、游客高效查詢與決策以及旅游企業(yè)精準(zhǔn)營(yíng)銷等方面也起著重要作用。因此,構(gòu)建旅游知識(shí)圖譜對(duì)推動(dòng)旅游業(yè)創(chuàng)新性發(fā)展具有重要意義。
目前,旅游知識(shí)圖譜的構(gòu)建研究取得一定程度的發(fā)展。馮小蘭[3]采用BLSTM神經(jīng)網(wǎng)絡(luò)模型在已構(gòu)建的漢文語料庫(kù)上進(jìn)行關(guān)系抽取,獲得與景點(diǎn)相關(guān)的屬性關(guān)系,構(gòu)建了西藏旅游知識(shí)圖譜。曹明輝[4]通過引入BILSTMCNN模型,從爬取的旅游評(píng)論中抽取實(shí)體關(guān)系,構(gòu)建了三亞旅游知識(shí)圖譜。韓凌潔[5]基于Scrapy框架爬取旅游網(wǎng)站和百科網(wǎng)站的結(jié)構(gòu)化數(shù)據(jù),構(gòu)建了內(nèi)蒙古自治區(qū)旅游知識(shí)圖譜。吳杰[6]以事件為中心對(duì)游客旅行過程中的時(shí)空關(guān)系進(jìn)行建模,構(gòu)建了海南旅游知識(shí)圖譜。陳榮禎[7]參考DBpedia抽取方法,提出面向攜程網(wǎng)頁的半結(jié)構(gòu)知識(shí)抽取框架提取旅游知識(shí)三元組,構(gòu)建了全國(guó)旅游知識(shí)圖譜。但以上旅游知識(shí)圖譜在智能化、規(guī)?;?、精確化等方面仍有很大的提升空間,為旅游知識(shí)圖譜的構(gòu)建提供有效知識(shí),開展面向旅游領(lǐng)域的實(shí)體關(guān)系抽取任務(wù)仍需面對(duì)以下難題:(1)旅游評(píng)論中的實(shí)體具有一詞多義問題。例如,“玉門關(guān)”既可以表示地名,也可以理解為旅游景點(diǎn)[8]。(2)旅游評(píng)論中存在著一對(duì)多和多對(duì)一兩種類型的關(guān)系重疊現(xiàn)象。例如,句子“天山天池風(fēng)景區(qū)位于阜康市,是國(guó)家5A級(jí)景區(qū)?!卑瑑蓚€(gè)關(guān)系三元組(天山天池風(fēng)景區(qū),風(fēng)景區(qū)地理位置,阜康市)和(天山天池風(fēng)景區(qū),風(fēng)景區(qū)等級(jí),國(guó)家5A級(jí)景區(qū)),一個(gè)頭實(shí)體與多個(gè)尾實(shí)體之間存在關(guān)系,是一對(duì)多關(guān)系重疊問題。而句子“天山天池風(fēng)景區(qū)與喀納斯風(fēng)景區(qū)都是國(guó)家5A級(jí)景區(qū)?!卑瑑蓚€(gè)關(guān)系三元組(天山天池風(fēng)景區(qū),風(fēng)景區(qū)等級(jí),國(guó)家5A級(jí)景區(qū))和(喀納斯風(fēng)景區(qū),風(fēng)景區(qū)等級(jí),國(guó)家5A級(jí)景區(qū)),多個(gè)頭實(shí)體與一個(gè)尾實(shí)體之間存在關(guān)系,是多對(duì)一關(guān)系重疊問題。綜上所述,如何從非結(jié)構(gòu)化文本中準(zhǔn)確提取風(fēng)景區(qū)、風(fēng)景區(qū)地理位置、風(fēng)景區(qū)開放時(shí)間等有用知識(shí),解決文本中的一詞多義問題和重疊關(guān)系提取問題、減少人工特征的投入等,仍是旅游知識(shí)圖譜構(gòu)建的核心問題和挑戰(zhàn)性工作。
實(shí)體關(guān)系抽取是構(gòu)建知識(shí)圖譜的關(guān)鍵環(huán)節(jié)。傳統(tǒng)的實(shí)體關(guān)系抽取方法先識(shí)別實(shí)體,再對(duì)實(shí)體對(duì)之間的語義關(guān)系進(jìn)行分類,例如耿雪來[9]基于條件隨機(jī)場(chǎng)和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法先抽取實(shí)體再抽取關(guān)系,為蒙漢雙語知識(shí)圖譜的構(gòu)建提供知識(shí)。張諾[10]通過引入BERTSpan模型完成實(shí)體識(shí)別任務(wù),再基于BERT-BILSTMattention模型進(jìn)行關(guān)系抽取,構(gòu)建了山西旅游知識(shí)圖譜。但該方法存在以下不足:(1)錯(cuò)誤傳播。實(shí)體識(shí)別引入的錯(cuò)誤會(huì)影響關(guān)系抽取任務(wù)的性能。(2)實(shí)體冗余。實(shí)體識(shí)別任務(wù)中抽取出來的任意實(shí)體之間不一定都存在語義關(guān)系,這些冗余實(shí)體增加了計(jì)算復(fù)雜度,進(jìn)而導(dǎo)致錯(cuò)誤率提升。(3)交互缺失。實(shí)體識(shí)別和關(guān)系抽取兩個(gè)子任務(wù)之間有著緊密的內(nèi)在聯(lián)系,該方法忽視了子任務(wù)之間的潛在交互,導(dǎo)致性能不佳。因此,為了解決傳統(tǒng)實(shí)體關(guān)系抽取方法存在的問題,一些研究者提出使用聯(lián)合抽取法完成實(shí)體關(guān)系抽取任務(wù)。Miwa等[11]提出堆疊雙向樹型LSTM-RNNs模型,該模型通過將實(shí)體識(shí)別和關(guān)系抽取的網(wǎng)絡(luò)參數(shù)進(jìn)行共享實(shí)現(xiàn)聯(lián)合抽取,但該方法仍存在無法剔除冗余實(shí)體的問題。Zheng等[12]在此基礎(chǔ)上將實(shí)體關(guān)系聯(lián)合抽取問題轉(zhuǎn)化為序列標(biāo)注問題,通過計(jì)算偏重?fù)p失提升實(shí)體標(biāo)簽間的相關(guān)性。雖然該方法能實(shí)現(xiàn)實(shí)體與關(guān)系之間的深層交互,但是采用就近原則分配關(guān)系,未考慮文本數(shù)據(jù)中存在的關(guān)系重疊現(xiàn)象,造成關(guān)系抽取不全面。Zeng等[13]引入機(jī)器翻譯的思想,將輸入語句看成是源語言,將實(shí)體關(guān)系三元組組成的序列看作是目標(biāo)語言,以此聯(lián)合抽取實(shí)體關(guān)系,有效解決了關(guān)系重疊問題,但無法識(shí)別多字實(shí)體。吳賽賽等[14]提出將主實(shí)體標(biāo)注為一固定標(biāo)簽,將文本中與主實(shí)體存在關(guān)系的其他實(shí)體標(biāo)注為兩者間的關(guān)系類型,這種新的標(biāo)注方法有效解決了關(guān)系重疊問題,但需要大量的標(biāo)注工作,導(dǎo)致工作成本巨大。
綜合考慮以上問題,結(jié)合現(xiàn)有的實(shí)體關(guān)系抽取技術(shù),本文提出一種融合BERT-WWM和指針網(wǎng)絡(luò)的實(shí)體關(guān)系聯(lián)合抽取模型構(gòu)建旅游知識(shí)圖譜。本文主要?jiǎng)?chuàng)新和貢獻(xiàn)如下:(1)BERT-WWM預(yù)訓(xùn)練語言模型結(jié)合上下文語義信息動(dòng)態(tài)生成特征向量,有效解決旅游評(píng)論中的一詞多義問題。(2)直接對(duì)三元組進(jìn)行建模,這種端對(duì)端的聯(lián)合抽取方式充分利用了實(shí)體與關(guān)系之間的依賴關(guān)系,避免造成實(shí)體冗余、錯(cuò)誤傳播等問題。(3)引入級(jí)聯(lián)結(jié)構(gòu)和指針網(wǎng)絡(luò)解碼輸出三元組,有效解決旅游評(píng)論中的關(guān)系重疊問題。(4)由于旅游領(lǐng)域沒有公開的大規(guī)模標(biāo)記數(shù)據(jù)集,本文爬取了關(guān)于新疆22個(gè)旅游景區(qū)的游客評(píng)論,讓模型在一個(gè)真實(shí)的旅游數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),證明了該模型的有效性。(5)構(gòu)建的旅游知識(shí)圖譜以結(jié)構(gòu)化的形式更加直觀地描述旅游實(shí)體間復(fù)雜關(guān)系,實(shí)現(xiàn)了旅游信息的整合與存儲(chǔ),有效解決旅游信息散亂、無序和關(guān)聯(lián)性不強(qiáng)的問題。
融合BERT-WWM和指針網(wǎng)絡(luò)的實(shí)體關(guān)系聯(lián)合抽取模型的總體結(jié)構(gòu)由兩部分組成,如圖1所示,分別為編碼層和三元組抽取層。首先,將輸入句子輸入到BERT-WWM模型中,通過BERT-WWM的Embedding層和雙向Transformer層得到每一個(gè)字符的特征向量表示。然后,在三元組抽取層直接對(duì)三元組進(jìn)行建模,利用句子編碼抽取頭實(shí)體(subject),并按關(guān)系類別抽取尾實(shí)體(object)。最后,引入級(jí)聯(lián)結(jié)構(gòu)構(gòu)建下游指針網(wǎng)絡(luò),解碼輸出三元組。
圖1 融合BERT-WWM和指針網(wǎng)絡(luò)的實(shí)體關(guān)系聯(lián)合抽取模型Fig.1 Joint extraction model combining BERT-WWM and pointer network
BERT-WWM[15]預(yù)訓(xùn)練語言模型由Embedding層和Transformer層組成,結(jié)構(gòu)如圖2所示。首先,定義模型的輸入句子為e=(e1,e2,…,en),ei表示輸入句子的第i個(gè)字符,n表示句子長(zhǎng)度。在Embedding層中,輸入句子e=(e1,e2,…,en)以詞嵌入向量(token embeddings)、分割嵌入向量(segment embeddings)和位置嵌入向量(position embeddings)三者求和的方式轉(zhuǎn)換為輸入序列T=(t1,t2,…,tn)。其中,詞嵌入向量通過查詢字向量表得到,分割嵌入向量用來表示該詞屬于的句子,位置嵌入向量表示該詞的位置信息,T是一個(gè)n×m維的矩陣,ti為ei對(duì)應(yīng)的m維字嵌入向量[16]。然后,將輸入序列T=(t1,t2,…,tn)輸送進(jìn)Transformer層提取特征,得到語義豐富的輸出序列h0=(h1,h2,…,hn)作為后續(xù)實(shí)體關(guān)系聯(lián)合抽取的句子編碼。
圖2 BERT-WWM模型結(jié)構(gòu)圖Fig.2 Structure diagram of BERT-WWM model
Transformer層是BERT-WWM的主要框架,由多個(gè)Encoder和Decoder組成,具體結(jié)構(gòu)如圖3所示。Encoder包括四層:第一層為多頭注意力機(jī)制(Multi-head attention);第二層和第四層為殘差網(wǎng)絡(luò)和歸一化(Add&Normal);第三層為前饋神經(jīng)網(wǎng)絡(luò)(Feed Forward Neural Network)。Decoder在Encoder的基礎(chǔ)上加入Encoder-Decoder attention層,用于幫助當(dāng)前節(jié)點(diǎn)獲得當(dāng)前需要關(guān)注的重點(diǎn)內(nèi)容[17]。
圖3 Transformer模型結(jié)構(gòu)圖Fig.3 Structure diagram of Transformer model
其中,Multi-head attention是Transformer層的核心,其主要思想是通過計(jì)算詞與詞之間的關(guān)聯(lián)度來調(diào)整詞的權(quán)重,反映了該詞與這句話中所有詞之間的相互關(guān)系以及每個(gè)詞的重要程度。首先,輸入序列T=(t1,t2,…,tn)輸送進(jìn)Encoder,通過線性變換得到表示目標(biāo)字的Q矩陣、表示上下文各個(gè)字的K矩陣以及表示目標(biāo)字與上下文各個(gè)字的原始矩陣V[18]。然后,通過計(jì)算放縮點(diǎn)積求得self-attention的分?jǐn)?shù)值,該分?jǐn)?shù)值決定了當(dāng)模型對(duì)一個(gè)詞進(jìn)行編碼時(shí),對(duì)輸入句子的其他詞的關(guān)注程度,具體計(jì)算方法如公式(1)所示。最后,將經(jīng)過i次計(jì)算的self-attention分?jǐn)?shù)值進(jìn)行拼接和線性變換,最終獲得一個(gè)與原始字向量長(zhǎng)度相同的增強(qiáng)語義向量,作為Multi-head attention層的輸出,具體計(jì)算方法如公式(2)、公式(3)所示:
其中,Q、K、V表示輸入的字向量矩陣,dk表示輸入維度,wqi、wki、wvi表示headi的權(quán)重矩陣,W0表示附加的權(quán)重矩陣。
為了提高模型對(duì)句子的泛化能力和特征表示能力,BERT-WWM在進(jìn)行自監(jiān)督訓(xùn)練MLM(masked language model)時(shí)對(duì)輸入句子中15%的token進(jìn)行隨機(jī)選取,并將這些token以80%的概率替換為Mask進(jìn)行預(yù)測(cè)[19]。考慮到中文文本中詞所能表達(dá)的意思更為重要和完整,BERT-WWM將以字為單位的Mask方法變?yōu)閷?duì)整個(gè)漢語單詞Mask,即一個(gè)詞的部分字段被Mask,則將整個(gè)詞Mask,訓(xùn)練完成后字的編碼就具有了詞的語義信息,具體樣例如表1所示。此外,為了提高模型理解長(zhǎng)序列上下文關(guān)系的能力,BERT-WWM在進(jìn)行NSP(next sentence prediction)訓(xùn)練時(shí)給出句子A和句子B,并判斷句子B是否為句子A的下句。
表1 全詞掩碼策略樣例Table 1 Example of whole word masking
實(shí)體關(guān)系抽取的標(biāo)注策略包括序列標(biāo)注法和指針網(wǎng)絡(luò)標(biāo)注法。其中,序列標(biāo)注法采用就近原則標(biāo)注實(shí)體關(guān)系,即一個(gè)實(shí)體在上下文中與多個(gè)實(shí)體存在關(guān)系時(shí)模型只能將關(guān)系分配給距離最近的實(shí)體對(duì)[20],這種方法只考慮了一個(gè)實(shí)體屬于一種關(guān)系的情況,難以有效應(yīng)對(duì)關(guān)系重疊問題。如圖4所示,序列標(biāo)注法只能對(duì)“天山天池風(fēng)景區(qū)”標(biāo)注一次,識(shí)別出“天山天池風(fēng)景區(qū)”與“阜康市”存在“風(fēng)景區(qū)地理位置”的關(guān)系,無法識(shí)別“天山天池風(fēng)景區(qū)”與“國(guó)家5A級(jí)景區(qū)”存在“風(fēng)景區(qū)等級(jí)”的關(guān)系。
圖4 序列標(biāo)注法Fig.4 Sequence labeling method
指針網(wǎng)絡(luò)標(biāo)注法將句子中的實(shí)體的開始token和結(jié)束token標(biāo)注為“1”,剩余token標(biāo)注為“0”,并將開始token和結(jié)束token拼接輸出實(shí)體[21]。如圖1所示,通過建立級(jí)聯(lián)結(jié)構(gòu),指針網(wǎng)絡(luò)標(biāo)注法可對(duì)token進(jìn)行重復(fù)標(biāo)注,有效解決關(guān)系重疊問題。因此,本文選擇指針網(wǎng)絡(luò)標(biāo)注法完成解碼任務(wù)。
三元組抽取層的主要思路是利用BERT-WWM模型的輸出序列h0=(h1,h2,…,hn)抽取出subject,然后根據(jù)關(guān)系類別抽取出subject對(duì)應(yīng)的object,最后建立級(jí)聯(lián)結(jié)構(gòu)并使用指針網(wǎng)絡(luò)解碼輸出三元組。
1.3.1 抽取subject
首先,為了緩解梯度爆炸或消失問題,將句子編碼h0歸一化得到句子編碼h1,計(jì)算方法如公式(4)、公式(5)所示:
其中,hi0為句子編碼h0的第i個(gè)輸入特征,μ為均值,σ為方差,γ、δ為可訓(xùn)練參數(shù),ε為一個(gè)大于0的極小常數(shù),hi1為句子編碼h1的第i個(gè)輸入特征。
然后,使用句子編碼h1計(jì)算輸入句子中每個(gè)token是某個(gè)subject開始或者結(jié)尾的概率,分別使用ps_starti和ps_endi表示,并根據(jù)概率是否大于閾值,為每個(gè)token標(biāo)注“0/1”標(biāo)簽。計(jì)算方法如公式(6)、公式(7)所示:
其中,w(?)表示可訓(xùn)練權(quán)重,b(?)表示可訓(xùn)練偏置,σ表示sigmoid激活函數(shù)。
1.3.2 聯(lián)合抽取object和關(guān)系
首先,為了加強(qiáng)層與層之間的聯(lián)系,嵌入CLN(conditional layer normalization)網(wǎng)絡(luò)層,將subject的編碼sj和句子編碼h0進(jìn)行特征融合得到新的句子編碼h2,計(jì)算方法如公式(8)、公式(9)所示:
其中,hi2和hi0分別表示句子編碼h2和h0的第i個(gè)token的編碼表示,wα和wβ表示兩個(gè)全零初始化的變換矩陣,α和β為模型訓(xùn)練過程中由梯度下降得到的參數(shù)值。
然后,利用新的句子編碼h2計(jì)算句子中每個(gè)token在第j個(gè)subject、第k種關(guān)系條件下,是object的開頭或者結(jié)尾的概率,分別使用po_starti,j,k和po_endi,j,k表示,并根據(jù)概率是否大于閾值,為每個(gè)token標(biāo)注“0/1”標(biāo)簽。計(jì)算方法如公式(10)、公式(11)所示:
其中,w(?)表示可訓(xùn)練權(quán)重,b(?)表示可訓(xùn)練偏置,σ表示sigmoid激活函數(shù)。
本文選擇采用網(wǎng)絡(luò)爬蟲工具后裔采集器,從攜程網(wǎng)、馬蜂窩網(wǎng)上以新疆22個(gè)旅游景區(qū)為單位對(duì)游客評(píng)論進(jìn)行抓取。通過對(duì)爬取的游客評(píng)論的瀏覽,發(fā)現(xiàn)游客主要關(guān)心風(fēng)景區(qū)、游玩項(xiàng)目、著名景點(diǎn)、用時(shí)參考、門票、等級(jí)、地理位置、開放時(shí)間等20種實(shí)體關(guān)系。鑒于此,本文對(duì)爬取到的數(shù)據(jù)進(jìn)行去重、補(bǔ)全等預(yù)處理后,對(duì)以上20種實(shí)體關(guān)系類型進(jìn)行人工標(biāo)注,標(biāo)注示例如下:{“sentText”:“天山天池風(fēng)景區(qū)位于阜康市,是國(guó)家5A級(jí)景區(qū)。”,“relationMentions”:[{“em1Text”:“天山天池風(fēng)景區(qū)”,“em2Text”:“阜康市”,“l(fā)abel”:“/風(fēng)景區(qū)/地點(diǎn)/風(fēng) 景區(qū)地理位置”},{“em1Text”:“天山天池風(fēng)景區(qū)”,“em2Text”:“國(guó)家5A級(jí)景區(qū)”,“l(fā)abel”:“/風(fēng)景區(qū)/等級(jí)/風(fēng)景區(qū)等級(jí)”}]}。人工標(biāo)注后得到數(shù)據(jù)4 000條,共10 196個(gè)實(shí)體關(guān)系對(duì),將4 000條數(shù)據(jù)按8∶2的比例劃分為訓(xùn)練集和測(cè)試集,得到訓(xùn)練數(shù)據(jù)3 200條,測(cè)試數(shù)據(jù)800條。
實(shí)驗(yàn)采用Windows操作系統(tǒng),中央處理器的型號(hào)為4.25 GHz八核ADM r7,內(nèi)存配置為16 GB 3 200 MHz DDR4,GPU為2070s,實(shí)驗(yàn)語言為Python3.6版本。采用谷歌公司人工智能團(tuán)隊(duì)開發(fā)的深度學(xué)習(xí)框架Tensorflow1.14.0搭建實(shí)驗(yàn)?zāi)P?,模型參?shù)設(shè)置如表2所示。
表2 模型相關(guān)參數(shù)設(shè)置Table 2 Model parameters setting
采用精確率(P)、召回率(R)和F1-score(F1)評(píng)判模型性能,各評(píng)價(jià)指標(biāo)的計(jì)算方法如公式(12)、公式(13)、公式(14)所示。其中,TP表示模型能正確檢測(cè)出的實(shí)體個(gè)數(shù)、FP表示模型檢測(cè)到的無關(guān)實(shí)體個(gè)數(shù)、FN表示模型未檢測(cè)到的實(shí)體的個(gè)數(shù)。
2.4.1 性能評(píng)估
為了驗(yàn)證融合BERT-WWM和指針網(wǎng)絡(luò)的聯(lián)合抽取模型抽取旅游領(lǐng)域?qū)嶓w關(guān)系的優(yōu)越性,本文分別選用聯(lián)合抽取方法和流水線方法共3個(gè)模型作為基準(zhǔn)模型進(jìn)行對(duì)比實(shí)驗(yàn):
(1)基于Word2Vec+CNN+BILSTM的聯(lián)合抽取方法。該方法首先使用Word2Vec模型生成字向量,然后引入CNN獲取詞語部件特征中的關(guān)鍵語義特征,將得到的特征分別與當(dāng)前詞語所對(duì)應(yīng)的字符向量結(jié)合,一起輸入到BiLSTM模型中獲取上下文特征,最后采用指針網(wǎng)絡(luò)解碼輸出三元組。
(2)基于BERT-WWM+BIGRU+Attention的聯(lián)合抽取方法。該方法使用BIO標(biāo)注策略,基于BERT-WWM模型對(duì)實(shí)體進(jìn)行詞向量化,然后結(jié)合BIGRU和注意力機(jī)制對(duì)輸入句子進(jìn)行特征提取,最后加上全連接層完成實(shí)體關(guān)系抽取任務(wù)。
(3)基于BERT-WWM的流水線方法。該方法采用BIO標(biāo)注策略,首先使用BERT-WWM搭建實(shí)體識(shí)別模型,進(jìn)行命名實(shí)體識(shí)別,然后使用BERT-WWM作為編碼器并連接全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行關(guān)系分類。
實(shí)驗(yàn)結(jié)果如表3所示。所有聯(lián)合抽取方法的性能表現(xiàn)均優(yōu)于流水線方法,其中本文提出的融合BERTWWM和指針網(wǎng)絡(luò)的聯(lián)合抽取方法比基于BERT-WWM的流水線方法在F1值上高出8.70個(gè)百分點(diǎn)。對(duì)最終預(yù)測(cè)數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)采用流水線方法的模型對(duì)不存在關(guān)系的實(shí)體進(jìn)行了提取,且對(duì)距離較近的實(shí)體對(duì)之間的關(guān)系一般能準(zhǔn)確提取,但距離較遠(yuǎn)的實(shí)體對(duì)之間的關(guān)系基本無法提取,證實(shí)流水線方法存在實(shí)體冗余和交互缺失問題。
表3 模型綜合性能評(píng)估Table 3 Model comprehensive performance evaluation
此外,本文提出的融合BERT-WWM和指針網(wǎng)絡(luò)的聯(lián)合抽取方法比基于Word2Vec+CNN+BILSTM的聯(lián)合抽取方法在F1值上高出2.37個(gè)百分點(diǎn)。分析原因在于Word2Vec詞嵌入模型是一種靜態(tài)的語言模型,不能很好地融入上下文信息,解決一詞多義問題。例如,“天氣很好”和“天山天池風(fēng)景區(qū)”這兩句話中出現(xiàn)的“天”字表達(dá)的意思不同,但是Word2Vec將2個(gè)“天”字表示成了完全相同的詞向量,這與實(shí)際情況不符。而采用雙向Transformer網(wǎng)絡(luò)結(jié)構(gòu)的BERT-WWM模型能夠通過學(xué)習(xí)上下文實(shí)現(xiàn)特征微調(diào),充分挖掘文本信息。但加入BERT-WWM的實(shí)體關(guān)系抽取模型的訓(xùn)練時(shí)間更長(zhǎng),原因在于BERT-WWM涉及的參數(shù)規(guī)模更大,需耗費(fèi)更多的計(jì)算資源。
2.4.2 重疊關(guān)系實(shí)驗(yàn)及分析
為了測(cè)試不同模型抽取重疊三元組的能力,將存在重疊現(xiàn)象的三元組分為一對(duì)多和多對(duì)一兩類,不存在重疊現(xiàn)象的三元組歸為Normal類,實(shí)驗(yàn)結(jié)果如圖5所示,可看出融合BERT-WWM和指針網(wǎng)絡(luò)標(biāo)注的聯(lián)合抽取模型的性能表現(xiàn)最優(yōu),在面對(duì)不同類型的三元組時(shí)F1值均達(dá)到88%以上。值得注意的是,在面對(duì)Normal類型三元組時(shí),采用BIO標(biāo)注的BERT-WWM+BIGRU+Attention聯(lián)合抽取模型的性能與融合BERT-WWM和指針網(wǎng)絡(luò)標(biāo)注的聯(lián)合抽取模型的性能差距較小,而在面對(duì)一對(duì)多和多對(duì)一的重疊三元組時(shí)F1值差距增大。分析原因在于BIO標(biāo)注法采用就近原則標(biāo)注實(shí)體,只能對(duì)一個(gè)實(shí)體標(biāo)注一次,導(dǎo)致關(guān)系抽取不全面。此外,流水線模型對(duì)于重疊關(guān)系抽取的F1值低于聯(lián)合抽取模型,表明流水線方法很難預(yù)測(cè)重疊關(guān)系。
圖5 模型抽取不同重疊類型三元組的F1值Fig.5 Model extracts F1 values of triples of different overlapping types
2.4.3 不同三元組個(gè)數(shù)提取結(jié)果分析
為了測(cè)試不同模型從具有不同三元組個(gè)數(shù)的句子中提取實(shí)體關(guān)系三元組的能力,根據(jù)句子包含的三元組數(shù)量將800條測(cè)試數(shù)據(jù)劃分為5組進(jìn)行實(shí)驗(yàn),結(jié)果如圖6所示。融合BERT-WWM和指針網(wǎng)絡(luò)標(biāo)注的聯(lián)合抽取模型的性能表現(xiàn)最優(yōu),5個(gè)測(cè)試小組的F1值均達(dá)到85%以上,隨著句子所包含的三元組數(shù)量的增加,模型性能表現(xiàn)穩(wěn)定。而基線模型的性能表現(xiàn)不佳,F(xiàn)1值大幅度降低,表明融合BERT-WWM和指針網(wǎng)絡(luò)標(biāo)注的聯(lián)合抽取模型受輸入句子的復(fù)雜程度的影響最小。
圖6 模型抽取不同數(shù)量三元組的F1值Fig.6 Model extracts F1 values of different numbers of triples
2.4.4 模型參數(shù)分析
由于BERT-WWM模型在實(shí)際預(yù)訓(xùn)練中每層所學(xué)習(xí)到的信息不同,所以本文考慮探究不同Transformer層數(shù)對(duì)旅游數(shù)據(jù)集實(shí)體關(guān)系聯(lián)合抽取結(jié)果的影響。選取Transformer層數(shù)分別為12、9、6、3進(jìn)行對(duì)比,結(jié)果如表4所示。從訓(xùn)練時(shí)長(zhǎng)可看出減少Transformer層數(shù)可以加快模型的訓(xùn)練速度。當(dāng)Transformer層數(shù)小于9時(shí),模型識(shí)別性能隨Transformer層數(shù)的減少而下降,當(dāng)Transformer層數(shù)大于等于9時(shí),模型識(shí)別的準(zhǔn)確性趨于平穩(wěn),在12層時(shí)模型性能達(dá)到最優(yōu),P值、R值、F1值分別達(dá)到93.42%、86.59%和89.88%,說明BERT-WWM模型在第12層附近學(xué)習(xí)到的信息能夠更好完成實(shí)體關(guān)系聯(lián)合抽取任務(wù)。
表4 模型在不同Transformer層數(shù)下的性能表現(xiàn)Table 4 Performance of model under different layers of transformer
當(dāng)Transformer層數(shù)為12層時(shí),對(duì)20種類型三元組的識(shí)別結(jié)果進(jìn)行統(tǒng)計(jì),結(jié)果如表5所示??煽闯稣w結(jié)果較為均衡,F(xiàn)1值均保持在90%水平左右,但“風(fēng)景區(qū)—附近景區(qū)—風(fēng)景區(qū)”“風(fēng)景區(qū)—風(fēng)景區(qū)文化藝術(shù)—文化藝術(shù)”這兩種類型的三元組的預(yù)測(cè)結(jié)果明顯低于平均水平,同時(shí)也是拉低模型效果的重要因素。分析原因可能是因?yàn)闃?gòu)成“風(fēng)景區(qū)—附近景區(qū)—風(fēng)景區(qū)”三元組的頭、尾實(shí)體的相對(duì)位置多變,模型無法很好識(shí)別,構(gòu)成“風(fēng)景區(qū)—風(fēng)景區(qū)文化藝術(shù)—文化藝術(shù)”三元組的尾實(shí)體大部分屬于新疆維吾爾自治區(qū)博物館中的藏品,如:“天王踏鬼彩繪木俑”等,名稱較為復(fù)雜。
表5 模型抽取不同類型三元組的性能表現(xiàn)Table 5 Performance of model to extract different types of triples
基于Neo4j圖數(shù)據(jù)庫(kù)具有查詢性能高效、適應(yīng)性強(qiáng)、支持圖論算法等優(yōu)點(diǎn),以及旅游知識(shí)圖譜中的數(shù)據(jù)相對(duì)于傳統(tǒng)關(guān)系數(shù)據(jù)更具關(guān)聯(lián)性和靈活性的特點(diǎn),選擇Neo4j圖數(shù)據(jù)庫(kù)存儲(chǔ)三元組,構(gòu)建旅游知識(shí)圖譜。本文以喀納斯風(fēng)景區(qū)為例進(jìn)行圖譜展示,如圖7所示,喀納斯風(fēng)景區(qū)地處阿勒泰地區(qū),阿勒泰地區(qū)同時(shí)又包含可可托海風(fēng)景區(qū)、白沙湖風(fēng)景區(qū),由此關(guān)聯(lián)了風(fēng)景區(qū)與地理位置兩類實(shí)體。同時(shí),喀納斯風(fēng)景區(qū)有月亮灣、觀魚臺(tái)等著名景點(diǎn),還有額河烤魚、冷水魚等美食,由此將風(fēng)景區(qū)與著名景點(diǎn)、美食相關(guān)聯(lián)。此外,圖譜中的灰色節(jié)點(diǎn)展示了喀納斯風(fēng)景區(qū)的數(shù)據(jù)屬性,如面積是10 030 km2,氣候類型是溫帶大陸性氣候等。
圖7 喀納斯風(fēng)景區(qū)圖譜展示Fig.7 Graph display of Kanas scenic spot
構(gòu)建的旅游知識(shí)圖譜可視化展現(xiàn)出不同旅游景區(qū)對(duì)應(yīng)的景點(diǎn)、門票、開放時(shí)間等重要信息,在幫助游客高效查詢與決策、景區(qū)智能化信息管理以及旅游企業(yè)精準(zhǔn)營(yíng)銷等方面發(fā)揮重要作用,為催生旅游問答系統(tǒng)、推薦系統(tǒng)、云平臺(tái)等智能化系統(tǒng)奠定基礎(chǔ)。
本文提出一種融合BERT-WWM和指針網(wǎng)絡(luò)的實(shí)體關(guān)系聯(lián)合抽取模型構(gòu)建旅游知識(shí)圖譜。首先,模型引入BERT-WWM作為編碼層,相較于采用Word2vec編碼的神經(jīng)網(wǎng)絡(luò)模型取得了2.37個(gè)百分點(diǎn)的F1值提升,表明BERT-WWM通過學(xué)習(xí)上下文實(shí)現(xiàn)特征微調(diào),可以更好地解決不同語境下同一詞語的不同語義問題。其次,模型解碼采用指針網(wǎng)絡(luò),相較于采用BIO標(biāo)注的BERTWWM+BIGRU+Attention聯(lián)合抽取模型而言,在抽取一對(duì)多和多對(duì)一兩種類型的重疊三元組時(shí)分別取得10.28個(gè)百分點(diǎn)和19.02個(gè)百分點(diǎn)的F1值提升,在面對(duì)擁有不同數(shù)量的三元組文本時(shí)最高取得31.63個(gè)百分點(diǎn)的F1值提升,表明本文模型更適合復(fù)雜場(chǎng)景,可以有效解決關(guān)系重疊問題和多個(gè)三元組抽取任務(wù)。此外,通過與現(xiàn)有流水線模型進(jìn)行對(duì)比分析,本文提出的聯(lián)合抽取模型最高取得8.70個(gè)百分點(diǎn)的F1值提升,表明聯(lián)合抽取模型可以加強(qiáng)實(shí)體識(shí)別和關(guān)系抽取兩個(gè)子任務(wù)之間聯(lián)系,緩解錯(cuò)誤傳播和實(shí)體冗余問題。以上實(shí)驗(yàn)結(jié)果表明,基于該模型構(gòu)建的旅游知識(shí)圖譜具有較高的準(zhǔn)確性,可有效實(shí)現(xiàn)旅游信息的組織和利用,為進(jìn)一步促進(jìn)旅游業(yè)發(fā)展提供技術(shù)支撐。