摘要:隨著大數(shù)據(jù)和人工智能技術(shù)的發(fā)展,福建煙草積極響應(yīng)國(guó)家和行業(yè)的號(hào)召,開(kāi)展數(shù)字化轉(zhuǎn)型探索。隨著自然語(yǔ)言處理技術(shù)的快速發(fā)展,人們已經(jīng)逐步適應(yīng)通過(guò)自然語(yǔ)言進(jìn)行人機(jī)交互,并基于此開(kāi)展日常工作。本文根據(jù)福建煙草的大數(shù)據(jù)建設(shè)基礎(chǔ),通過(guò)自然語(yǔ)言模型抽取企業(yè)的非結(jié)構(gòu)化文本數(shù)據(jù),構(gòu)建企業(yè)知識(shí)圖譜,并建設(shè)知識(shí)圖譜問(wèn)答。
關(guān)鍵詞:自然語(yǔ)言;煙草行業(yè);知識(shí)抽取;智能問(wèn)答
一、引言
通過(guò)將結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)化為知識(shí)圖譜,可以幫助企業(yè)構(gòu)建一種基于知識(shí)的智能問(wèn)答系統(tǒng),并使用自然語(yǔ)言處理和人工智能技術(shù)來(lái)實(shí)現(xiàn)對(duì)問(wèn)答的自動(dòng)化處理和智能回答,有助于提高業(yè)務(wù)效率和決策的準(zhǔn)確性,促進(jìn)知識(shí)共享和管理,提高客戶(hù)服務(wù)質(zhì)量和企業(yè)競(jìng)爭(zhēng)力,是企業(yè)數(shù)字化轉(zhuǎn)型和智能化發(fā)展的重要手段之一。
二、知識(shí)抽取方法
(一)知識(shí)抽取的常用方法
知識(shí)抽取或信息抽?。↖E)是信息從文本到結(jié)構(gòu)的轉(zhuǎn)換過(guò)程。常見(jiàn)的實(shí)體、關(guān)系、事件分別采取Span、Triplet、Record形式的異構(gòu)結(jié)構(gòu)。以下是知識(shí)抽取中常用的幾種方法:
1.規(guī)則驅(qū)動(dòng)的方法:通過(guò)手工制定規(guī)則或利用正則表達(dá)式來(lái)識(shí)別特定文本模式,從而提取實(shí)體、關(guān)系、事件等信息。這種方法需要人工先驗(yàn)知識(shí)和手動(dòng)標(biāo)注大量樣本數(shù)據(jù),適用于特定領(lǐng)域的知識(shí)抽取。
2.基于統(tǒng)計(jì)的方法:使用自然語(yǔ)言處理和機(jī)器學(xué)習(xí)技術(shù),從大量文本語(yǔ)料庫(kù)中學(xué)習(xí)模式和規(guī)律,通過(guò)詞頻、共現(xiàn)等統(tǒng)計(jì)特征來(lái)識(shí)別實(shí)體、關(guān)系、事件等信息。這種方法不需要人工先驗(yàn)知識(shí),但需要大量的標(biāo)注數(shù)據(jù)和計(jì)算資源。
3.基于深度學(xué)習(xí)的方法:使用深度神經(jīng)網(wǎng)絡(luò)模型,如CNN-BiLSTM-CRF、BERT、ERNIE、PCNN、DYGIE++等,通過(guò)端到端的訓(xùn)練方式,直接從原始文本中提取實(shí)體、關(guān)系、事件等信息。這種方法不需要手動(dòng)設(shè)計(jì)特征和規(guī)則,能夠自動(dòng)學(xué)習(xí)復(fù)雜的語(yǔ)言模式和規(guī)律,但需要大量的標(biāo)注數(shù)據(jù)和計(jì)算資源。
4.基于模板的方法:使用預(yù)定義的模板來(lái)匹配文本中的實(shí)體、關(guān)系、事件等信息。這種方法適用于特定領(lǐng)域的知識(shí)抽取,可以根據(jù)不同的領(lǐng)域和任務(wù)設(shè)計(jì)不同的模板。
5.基于半監(jiān)督學(xué)習(xí)的方法:使用少量標(biāo)注數(shù)據(jù)和大量未標(biāo)注數(shù)據(jù)進(jìn)行訓(xùn)練,通過(guò)半監(jiān)督學(xué)習(xí)算法來(lái)提高抽取效果和泛化能力。這種方法能夠充分利用未標(biāo)注數(shù)據(jù),降低標(biāo)注成本,但需要更復(fù)雜的算法和技術(shù)。
本文基于深度學(xué)習(xí)模型展開(kāi)信息知識(shí)的抽取與知識(shí)圖譜的構(gòu)建。
(二)統(tǒng)一結(jié)構(gòu)生成的通用信息提取
大部分情況下,當(dāng)面對(duì)各種復(fù)雜多樣的IE任務(wù)時(shí),人們總會(huì)造各式各樣IE模型的輪子,來(lái)滿(mǎn)足不同復(fù)雜任務(wù)的多變需求。多樣的抽取目標(biāo)、相異的復(fù)雜結(jié)構(gòu)、多變的領(lǐng)域需求導(dǎo)致信息抽取模型難以實(shí)現(xiàn)統(tǒng)一建模,極大限制了IE系統(tǒng)的高效架構(gòu)開(kāi)發(fā)、有效知識(shí)共享、快速跨域適配。根據(jù)Yaojie Lu等人發(fā)表的論文《構(gòu)建通用信息抽取的一體化結(jié)構(gòu)生成》,UIE(全稱(chēng)Universal Information Extraction)框架是一個(gè)整合性的文本結(jié)構(gòu)化生成方案,旨在為多樣化的信息抽取需求定制模型,靈活構(gòu)建所需的目標(biāo)結(jié)構(gòu),并在多個(gè)知識(shí)源中共同發(fā)展出普適的信息抽取技術(shù)[1]。通過(guò)結(jié)構(gòu)化提取語(yǔ)言,UIE能夠執(zhí)行信息抽取任務(wù),統(tǒng)一編碼不同的提取結(jié)構(gòu),通過(guò)基于模式的提示機(jī)制(結(jié)構(gòu)模式指導(dǎo)器)自適應(yīng)地生成目標(biāo)結(jié)構(gòu),并通過(guò)大規(guī)模預(yù)訓(xùn)練實(shí)現(xiàn)從文本到結(jié)構(gòu)的模型建模,從而具備對(duì)常見(jiàn)信息的提取能力。實(shí)驗(yàn)表明,UIE在4個(gè)信息提取任務(wù)、13個(gè)數(shù)據(jù)集和所有監(jiān)督、低資源和少樣本設(shè)置上均實(shí)現(xiàn)了最先進(jìn)的性能。這些結(jié)果驗(yàn)證了UIE在不同信息提取任務(wù)、設(shè)置和場(chǎng)景下的有效性、通用性和可轉(zhuǎn)移性。
UIE的整體框架包含SSI和SEL兩大模塊,其中,SSI(Structural Schema Instructor)是指結(jié)構(gòu)模式指引,旨在提示哪些類(lèi)型的數(shù)據(jù)需要被定位和關(guān)聯(lián)。給定結(jié)構(gòu)化模式的抽取類(lèi)型SSL以及文本的序列Text,通過(guò)UIE模型可以生成SEL結(jié)構(gòu)化的信息。
UIE模型結(jié)構(gòu)使用的是Transformer模型,包含了Encoder和Decoder模塊。其中,SSI屬于編碼階段,SEL屬于解碼階段。首先,將SSI信息和句子拼接,輸入至Encoder模塊中,得到每一個(gè)Token的隱層表示。然后,使用隱層表示在Decoder端生成的目標(biāo)結(jié)構(gòu)化信息。論文中描述,UIE主要做的就是用Text-to-Structure(類(lèi)Seq-to-Seq)解決信息抽取問(wèn)題,論文中用的是Transformer的放大版模型-T5。UIE的復(fù)現(xiàn)難點(diǎn)在于構(gòu)造大量監(jiān)督數(shù)據(jù),論文應(yīng)該是利用維基百科的知識(shí)圖譜和遠(yuǎn)程監(jiān)督構(gòu)造了千萬(wàn)級(jí)的訓(xùn)練數(shù)據(jù)。與此類(lèi)似的是OpenAI Whisper,Whisper團(tuán)隊(duì)從網(wǎng)上爬取了68萬(wàn)小時(shí)的語(yǔ)音文本對(duì),直接放進(jìn)Transformer訓(xùn)練,最終的模型既能做語(yǔ)音識(shí)別、歌曲識(shí)別,還能將語(yǔ)音翻譯成英文[2]。
就目前來(lái)看,當(dāng)前的知識(shí)抽取方式本質(zhì)上并沒(méi)有對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行多大的改動(dòng)或優(yōu)化,更多是通過(guò)構(gòu)造大量弱標(biāo)簽監(jiān)督數(shù)據(jù)去訓(xùn)練一個(gè)Transformer結(jié)構(gòu)的網(wǎng)絡(luò)。所以相關(guān)論文中未提及怎么解碼、怎么獲取關(guān)系、怎么判斷實(shí)體,將一切都交給Transformer完成。
三、知識(shí)圖譜構(gòu)建
(一)知識(shí)抽取
1.知識(shí)建模
以漳州煙草公司的企業(yè)內(nèi)部制度文件為知識(shí)圖譜的構(gòu)建數(shù)據(jù)來(lái)源,通過(guò)梳理漳州煙草的企業(yè)制度文檔數(shù)據(jù),建立以下知識(shí)模型:通過(guò)信息抽取模型,從人力資源制度、專(zhuān)賣(mài)制度文檔中提取關(guān)鍵信息實(shí)體,包括但不限于發(fā)文號(hào)、發(fā)文部門(mén)、抄送部門(mén)、印發(fā)部門(mén)、發(fā)文時(shí)間、印發(fā)時(shí)間、核對(duì)人員、打印人員等。這些信息實(shí)體的提取不僅提高了文檔檢索的精確性,通過(guò)分析實(shí)體間的關(guān)聯(lián)性,還可為員工提供一種直觀的方式來(lái)理解文檔的核心內(nèi)容。通過(guò)構(gòu)建實(shí)體間的關(guān)系網(wǎng)絡(luò),使得員工能夠快速把握文檔的核心內(nèi)容,并清晰地識(shí)別文檔間的廢止和更新關(guān)系,從而形成一條邏輯性強(qiáng)、易于追蹤的廢止關(guān)系鏈條。這種關(guān)系鏈條的可視化呈現(xiàn),極大地增強(qiáng)了文檔管理的透明度和可追溯性,為企業(yè)制度的執(zhí)行和監(jiān)督提供了堅(jiān)實(shí)的信息基礎(chǔ)。
2.實(shí)體抽取
實(shí)體抽取,是指識(shí)別文本中具有特定意義的實(shí)體。在開(kāi)放域信息抽取中,抽取的類(lèi)別沒(méi)有限制,用戶(hù)可以自己定義。比如有這樣一個(gè)句子:七匹狼(藍(lán))煙賣(mài)12元。提取這句話中所有有意義的詞語(yǔ),例如圖1(a)所示。這個(gè)關(guān)鍵詞提取任務(wù)就為實(shí)體抽取,文中的“七匹狼(藍(lán))”和“12元”被稱(chēng)為實(shí)體。常用的實(shí)體抽取深度學(xué)習(xí)方法包括序列標(biāo)注方法和指針網(wǎng)絡(luò)方法。序列標(biāo)注方法是對(duì)需要抽取的文本中的每一個(gè)字(Token)進(jìn)行分類(lèi),其本質(zhì)是基于Token的分類(lèi)任務(wù)。比如對(duì)上述例子做序列標(biāo)注任務(wù),得到的結(jié)果如圖1(b)所示。
序列標(biāo)注方法采用了BIO的標(biāo)注方法,可以使用BiLstm+CRF或者Bert+CRF模型做該序列標(biāo)注任務(wù)。模型的輸出為每個(gè)Token所屬的類(lèi)別。序列標(biāo)注模型存在一個(gè)比較大的缺陷,無(wú)法解決實(shí)體重疊的問(wèn)題。
指針網(wǎng)絡(luò)方法通過(guò)對(duì)每一個(gè)實(shí)體單獨(dú)做預(yù)測(cè),以解決實(shí)體之前的重疊和沖突問(wèn)題。比如,在上述例子中不僅要提取品規(guī),還要提取品規(guī)類(lèi)型,本文所期望的提取結(jié)果如表1所示。
現(xiàn)在,要同時(shí)預(yù)測(cè)品規(guī)和品規(guī)類(lèi)型這兩個(gè)實(shí)體。指針網(wǎng)絡(luò)方法是通過(guò)設(shè)計(jì)一個(gè)多頭網(wǎng)絡(luò)(Multi-Head)分別預(yù)測(cè)這兩個(gè)實(shí)體的實(shí)體詞。通過(guò)構(gòu)建多頭任務(wù),指針網(wǎng)絡(luò)方法能夠分別預(yù)測(cè)每種實(shí)體類(lèi)型中的實(shí)體詞對(duì)應(yīng)的開(kāi)始/結(jié)束位置。多頭指針網(wǎng)絡(luò)方法能夠很好地解決實(shí)體重疊問(wèn)題,但缺點(diǎn)在于不夠靈活。當(dāng)實(shí)體類(lèi)型發(fā)生變化時(shí),訓(xùn)練數(shù)據(jù)和模型結(jié)構(gòu)都會(huì)發(fā)生改變。所以,UIE模型在使用指針網(wǎng)絡(luò)方法的同時(shí)引入了不同類(lèi)型對(duì)應(yīng)的Prompt,把它與輸入文本拼接在一起輸入到模型中。上述實(shí)體抽取任務(wù)是通過(guò)將不同的實(shí)體類(lèi)型作為Prompt與輸入文本拼接起來(lái)輸入到模型中,用于激活模型參數(shù)跟當(dāng)前實(shí)體類(lèi)型相關(guān)的參數(shù),從而輸出不同的實(shí)體抽取結(jié)果。
3.屬性/關(guān)系抽取
UIE中的屬性/關(guān)系抽取任務(wù)和上述描述的UIE中的實(shí)體抽取方法一樣,都是基于不同類(lèi)型的Prompt拼接輸入文本后輸入的模型,使用指針預(yù)測(cè)對(duì)應(yīng)關(guān)系類(lèi)型的開(kāi)始/結(jié)束位置。如下圖2所示。
4.模型訓(xùn)練
基于UIE的實(shí)體抽取和關(guān)系抽取都是在經(jīng)過(guò)預(yù)訓(xùn)練的UIE模型(如Uie-Base、Uie-Tiny等)上進(jìn)行微調(diào)。通過(guò)不同類(lèi)型的Prompt拼接輸入文本到Transformer的Encoder模塊中,得到每一個(gè)Token的隱層表示。然后使用隱層表示在Decoder端生成目標(biāo)的結(jié)構(gòu)化信息,采用多頭指針網(wǎng)絡(luò)預(yù)測(cè)不同類(lèi)型的開(kāi)始/結(jié)束位置。由于每一個(gè)Token都是一個(gè)二分類(lèi)任務(wù),因此選用二分類(lèi)交叉熵?fù)p失函數(shù)BCE Loss 作為損失函數(shù),分別計(jì)算起始/結(jié)束向量的 BCE Loss ,再取平均值即可。最終,通過(guò)微調(diào)后的模型預(yù)測(cè)可以抽取文本中對(duì)應(yīng)的實(shí)體和實(shí)體之間的關(guān)系。
(二)圖譜轉(zhuǎn)化
1.數(shù)據(jù)存儲(chǔ)
知識(shí)圖譜是以圖結(jié)構(gòu)形式對(duì)知識(shí)進(jìn)行建模和表示,所以,也常將知識(shí)圖譜中的知識(shí)作為圖數(shù)據(jù)進(jìn)行存儲(chǔ)。這里使用最常用的Neo4j圖數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)。Neo4j通過(guò)節(jié)點(diǎn)(Node)和邊(Edge)的形式來(lái)存儲(chǔ)數(shù)據(jù)。node可以代表知識(shí)圖譜中的實(shí)體,edge可以代表實(shí)體間的關(guān)系。關(guān)系具有方向性,從開(kāi)始節(jié)點(diǎn)指向結(jié)束節(jié)點(diǎn)。
2.數(shù)據(jù)轉(zhuǎn)化
知識(shí)圖譜中的數(shù)據(jù)存入圖數(shù)據(jù)庫(kù)Neo4j后,可以通過(guò)Neo4j自己設(shè)計(jì)的查詢(xún)語(yǔ)言Cypher,實(shí)現(xiàn)對(duì)圖譜中的節(jié)點(diǎn)和邊等知識(shí)的高效查詢(xún)和轉(zhuǎn)換。通過(guò)模式匹配來(lái)查詢(xún)、修改節(jié)點(diǎn)和關(guān)系等。
(三)知識(shí)圖譜問(wèn)答
1.知識(shí)圖譜問(wèn)答方法
知識(shí)圖譜問(wèn)答目前有兩種主流的方法:基于語(yǔ)義解析的方法和基于信息檢索的方法。
語(yǔ)義解析技術(shù)的操作流程包括:初始階段,將用戶(hù)提出的問(wèn)題轉(zhuǎn)換成知識(shí)圖譜可以識(shí)別和處理的格式化查詢(xún)(也就是語(yǔ)義層面的表達(dá))。隨后,直接在知識(shí)圖譜上運(yùn)行這個(gè)格式化查詢(xún),以獲取與問(wèn)題相匹配的答案。語(yǔ)義表示結(jié)果可通過(guò)對(duì)輸入問(wèn)題進(jìn)行短語(yǔ)檢測(cè)(實(shí)體及其關(guān)系),然后將識(shí)別到的短語(yǔ)映射到知識(shí)庫(kù)中的特定元素,此過(guò)程可通過(guò)深度學(xué)習(xí)模型進(jìn)行相似度計(jì)算等。最后將元素整合成相應(yīng)的邏輯結(jié)構(gòu)。對(duì)于簡(jiǎn)單查詢(xún),例如那些只涉及單一實(shí)體和單一關(guān)系的問(wèn)題,直接將它們鏈接起來(lái)就足夠了。然而,對(duì)于更復(fù)雜的問(wèn)題,涉及多個(gè)實(shí)體和多重關(guān)系,就需要考慮這些實(shí)體和關(guān)系之間的所有可能的配對(duì)和組合。信息檢索技術(shù)的操作流程涉及從問(wèn)題中識(shí)別關(guān)鍵實(shí)體,并在知識(shí)庫(kù)中檢索這些實(shí)體以獲得以這些實(shí)體為核心的子圖。在這個(gè)子圖中,每個(gè)節(jié)點(diǎn)和連接線都被視為潛在的答案。通過(guò)信息抽取技術(shù),問(wèn)題被轉(zhuǎn)化為一個(gè)特征向量,隨后利用這個(gè)向量來(lái)訓(xùn)練一個(gè)分類(lèi)模型。該模型將根據(jù)輸入的問(wèn)題特征向量對(duì)所有潛在答案進(jìn)行評(píng)估和排序,最終確定問(wèn)題的答案。
2.構(gòu)建KBQA問(wèn)答系統(tǒng)
(1)推理問(wèn)答算法
①實(shí)體-屬性問(wèn)答?!皩?shí)體-屬性問(wèn)答”知識(shí)圖譜驅(qū)動(dòng)的問(wèn)答系統(tǒng)(KBQA)主要分為兩大核心任務(wù):實(shí)體的識(shí)別與屬性的關(guān)聯(lián)。該流程首先涉及對(duì)自然語(yǔ)言提問(wèn)進(jìn)行初步處理,接著利用自定義詞匯庫(kù)來(lái)識(shí)別提問(wèn)中的命名實(shí)體,并依據(jù)屬性數(shù)據(jù)庫(kù)進(jìn)行屬性關(guān)聯(lián)。通過(guò)Cypher查詢(xún)模板在知識(shí)圖譜中檢索答案,如果檢索成功,系統(tǒng)不僅提供答案,還會(huì)展示相關(guān)的類(lèi)似提問(wèn);若檢索未果,則系統(tǒng)將推薦可能的替代提問(wèn)。如果用戶(hù)提交了一個(gè)用自然語(yǔ)言表述的問(wèn)題:“我住在田頭村,我這邊的合理布局標(biāo)準(zhǔn)是什么?”首先,必須運(yùn)用實(shí)體識(shí)別技術(shù)來(lái)定位“田頭村”這一實(shí)體;接著,利用屬性鏈接技術(shù)提取問(wèn)題中的屬性“合理布局標(biāo)準(zhǔn)”。通過(guò)完成實(shí)體和屬性的識(shí)別,我們已經(jīng)獲得了三元組中的兩個(gè)關(guān)鍵部分:即“田頭村”和“合理布局標(biāo)準(zhǔn)”。最終,通過(guò)執(zhí)行Cypher查詢(xún)語(yǔ)句“MATCH(n:Entity{name:\"田頭村\"})-[r:relation{name:\"合理布局標(biāo)準(zhǔn)\"}]-gt;(p:Node)return p”,在知識(shí)圖譜中檢索與“田頭村”實(shí)體和“合理布局標(biāo)準(zhǔn)”屬性相關(guān)的具體數(shù)值:“根據(jù)所在區(qū)域戶(hù)籍人口每300人設(shè)置1個(gè)零售點(diǎn),且新設(shè)零售點(diǎn)與已設(shè)零售點(diǎn)之間的距離不少于100米”,這將成為問(wèn)題的答案。同時(shí),系統(tǒng)還會(huì)提供相關(guān)的類(lèi)似問(wèn)句。如果無(wú)法找到答案,系統(tǒng)將提供相關(guān)的推薦問(wèn)句。[3]
②實(shí)體-關(guān)系問(wèn)答。“實(shí)體-關(guān)系問(wèn)答”與上述“實(shí)體-屬性問(wèn)答”相似。不同的是,在完成對(duì)問(wèn)句中的命名實(shí)體的識(shí)別之后,依據(jù)實(shí)體間的關(guān)系,利用Cypher查詢(xún)語(yǔ)句在知識(shí)圖譜數(shù)據(jù)庫(kù)中檢索相應(yīng)的答案。
作者單位:劉海龍" "黃恒博" 福建省煙草公司漳州市公司
林勇泉 廈門(mén)海晟融創(chuàng)信息技術(shù)有限公司
參考文獻(xiàn)
[1] 《Unified Structure Generation for Universal Information Extraction》Yaojie Lu, Qing Liu, Dai Dai, Xinyan Xiao, Hongyu Lin, Xianpei Han, Le Sun, Hua Wu
[2] Niranjan A , Sharma M C , Gutha S B C ,et al.End-to-End Whisper to Natural Speech Conversion using Modified Transformer Network[J]." 2021.
[3]吳賽賽.基于知識(shí)圖譜的作物病蟲(chóng)害智能問(wèn)答系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].中國(guó)農(nóng)業(yè)科學(xué)院,2021.