張智雄,劉 歡,于改紅
(1.中國科學(xué)院文獻(xiàn)情報中心,北京 100190;2.中國科學(xué)院大學(xué)經(jīng)濟(jì)與管理學(xué)院圖書情報與檔案管理系,北京 100190;3.中國科學(xué)院武漢文獻(xiàn)情報中心,武漢 430071;4.科技大數(shù)據(jù)湖北省重點實驗室,武漢 430071)
人工智能技術(shù)近年來取得飛速突破,尤其是在自然語言理解領(lǐng)域很多任務(wù)上都得到了廣泛應(yīng)用[1,2]。人工智能的基礎(chǔ)是機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)解決問題的模式是使用算法分析數(shù)據(jù),讓機(jī)器去學(xué)習(xí)知識,機(jī)器自動歸納總結(jié)成模型,最后再讓機(jī)器使用模型做出推斷或預(yù)測。作為人工智能的核心技術(shù),深度學(xué)習(xí)近年來取得飛速突破,真正發(fā)揮其優(yōu)越性,根本原因在于擁有了大量可計算的數(shù)據(jù)資源和擁有了支撐大規(guī)模計算的計算能力??萍嘉墨I(xiàn)是科技知識的重要載體,蘊(yùn)含著豐富的知識內(nèi)容和知識關(guān)系,因此科技文獻(xiàn)庫(數(shù)字圖書館)是天然最好的人工智能(AI)語料庫,這些隱藏于科技文獻(xiàn)中的知識是人工智能的基石。
如何利用科技文獻(xiàn)中的知識對深度學(xué)習(xí)算法模型進(jìn)行訓(xùn)練改進(jìn),以獲取知識、發(fā)現(xiàn)知識,是情報研究的重要課題。本文以文獻(xiàn)情報工作為出發(fā)點,立足科技文獻(xiàn)是人類知識的最重要載體,圍繞如何充分挖掘和利用文獻(xiàn)情報知識價值和作用,創(chuàng)新性提出了文獻(xiàn)情報領(lǐng)域從“科技文獻(xiàn)庫”到“科技知識引擎”轉(zhuǎn)變的建設(shè)思路,論述了中國科學(xué)院文獻(xiàn)情報中心在構(gòu)建基于科技文獻(xiàn)知識的人工智能(AI)引擎的建設(shè)實踐,探討了利用深度學(xué)習(xí)技術(shù)挖掘知識以服務(wù)情報研究的方法,以期為同行提供參考。
國內(nèi)外很多研究團(tuán)隊開展了大量的基于科技文獻(xiàn)數(shù)據(jù)實現(xiàn)知識挖掘與知識發(fā)現(xiàn)的研究,為人工智能時代貢獻(xiàn)了力量。如AllenAI 提出的SciBERT[3]通過對來自Semantic Scholar 的生物醫(yī)學(xué)及計算機(jī)科學(xué)領(lǐng)域的科技文獻(xiàn)完成大規(guī)模的自監(jiān)督訓(xùn)練構(gòu)建了英文科技文獻(xiàn)預(yù)訓(xùn)練模型。清華大學(xué)發(fā)布的Aminer[4]學(xué)術(shù)搜索和挖掘系統(tǒng)通過對科技文獻(xiàn)中實體及關(guān)系的進(jìn)行建模構(gòu)建了復(fù)雜的學(xué)術(shù)關(guān)系網(wǎng)絡(luò)。但當(dāng)前就如何利用科技文獻(xiàn)中的知識對深度學(xué)習(xí)算法模型進(jìn)行訓(xùn)練及改進(jìn),以獲取知識、發(fā)現(xiàn)知識的研究仍處在初級階段。圍繞構(gòu)建基于科技文獻(xiàn)知識的人工智能(AI)引擎,本文第二部分論述了科技文獻(xiàn)是人類知識的最重要載體,對其開發(fā)利用構(gòu)建科技知識引擎,在人工智能時代具有重要意義;第三部分重點介紹了作者構(gòu)建基于科技文獻(xiàn)知識的人工智能(AI)引擎建設(shè)思路;第四部分,詳細(xì)論述了中國科學(xué)院文獻(xiàn)情報中心在構(gòu)建基于科技文獻(xiàn)知識的人工智能(AI)引擎的建設(shè)實踐;最后簡要進(jìn)行小結(jié)和未來工作展望介紹。
隱藏于各種數(shù)據(jù)資源(語料)中的知識利用和開發(fā)是人工智能飛速突破的本質(zhì)所在。而科技文獻(xiàn)作為人類知識的最重要載體,對其進(jìn)行充分的挖掘和利用可以實現(xiàn)從“科技文獻(xiàn)庫”到“科技知識引擎”的轉(zhuǎn)變,對于人工智能時代的發(fā)展具有重要意義。
機(jī)器學(xué)習(xí)的出現(xiàn)和發(fā)展歷史悠久,神經(jīng)網(wǎng)絡(luò)的概念早在1943 年就被提出[5],谷歌的GNMT 翻譯系統(tǒng)所使用LSTM 算法模型早在1997 年就由HOCHREITER等提出[6],1997 年SCHOLKOPF 等使用SVM 方法在美國數(shù)字郵政服務(wù)數(shù)據(jù)庫上進(jìn)行了測試,其識別錯誤率低至3.2%,遠(yuǎn)遠(yuǎn)超越了同時期LECUN 等提出的卷積神經(jīng)網(wǎng)絡(luò)方法[7]。人工智能研究取得突破性進(jìn)展的背后,都是圍繞著計算機(jī)學(xué)習(xí)知識、開發(fā)利用知識的模式改變。這些都明確告訴我們,對隱藏于各種數(shù)據(jù)資源(語料)中的知識利用和開發(fā)是人工智能飛速突破的本質(zhì)所在,同時也體現(xiàn)了計算機(jī)解決問題3個模式的改變。
(1)改變之一:從傳統(tǒng)計算機(jī)程序到機(jī)器學(xué)習(xí)。傳統(tǒng)的計算機(jī)程序是人輸入知識讓機(jī)器完成任務(wù),而在機(jī)器學(xué)習(xí)技術(shù)中,它變成了讓機(jī)器學(xué)習(xí)知識,再讓機(jī)器去完成任務(wù)。這一過程可以分為兩個階段:第一模型訓(xùn)練階段(Training),利用標(biāo)注好的數(shù)據(jù)語料來訓(xùn)練模型,形成解決問題的知識。第二模型預(yù)測階段(Predication),解決問題階段,利用訓(xùn)練好的模型(解決問題的知識),來解決類似問題。
(2)改變之二:從小樣本機(jī)器學(xué)習(xí)到大規(guī)模深度學(xué)習(xí)。擁有大樣本訓(xùn)練語料和大規(guī)模計算能力,使得基于人工神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)的知識學(xué)習(xí)性能大幅提升。深度學(xué)習(xí)方法是一種特定類型的機(jī)器學(xué)習(xí)技術(shù),具有強(qiáng)大的能力和靈活性[8],它將機(jī)器學(xué)習(xí)技術(shù)提升到新的高度。如前文中提到的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)等概念和算法都是很早之前就出現(xiàn)過,但直到近年來,深度學(xué)習(xí)方法開始真正發(fā)揮其優(yōu)越性。人工智能研究中取得重大突破,有兩個重要的原因:第一,擁有了大量可計算的數(shù)據(jù)資源。隨著互聯(lián)網(wǎng)的發(fā)展和大數(shù)據(jù)時代的到來,數(shù)據(jù)更容易被收集管理,也更容易被整理成適合機(jī)器學(xué)習(xí)應(yīng)用的數(shù)據(jù)集。當(dāng)數(shù)據(jù)量增加到一定程度后,傳統(tǒng)的機(jī)器學(xué)習(xí)算法在性能提升上并不明顯,而深度學(xué)習(xí)算法由于具有大規(guī)模的參數(shù),可以表達(dá)復(fù)雜的特征,其性能會隨著數(shù)據(jù)規(guī)模增大而提高。谷歌的GNMT 翻譯系統(tǒng)所用的英文法文數(shù)據(jù)集WMT En-Fr 含有36 000 000個句子對[4],在大數(shù)據(jù)集下,深度學(xué)習(xí)的優(yōu)勢得以凸顯,其翻譯水平接近人類水平。第二,擁有了支撐大規(guī)模計算的計算能力。隨著訓(xùn)練樣本的增加和模型復(fù)雜度的提升,計算量急劇增加,傳統(tǒng)的計算架構(gòu)無法支撐深度學(xué)習(xí)的計算需求,需要有更高性能的硬件設(shè)施。與CPU 相比,GPU 由于其并行計算技術(shù)非常適合大規(guī)模的矩陣運(yùn)算,在速度上能帶來2~3個數(shù)量級甚至更多的提升[9]。谷歌專門為機(jī)器學(xué)習(xí)應(yīng)用開發(fā)的TPU,速度能加快到最高100P Flops(每秒1 000 萬億次浮點計算),華為公布的人工智能平臺Atlas 900,其總算力達(dá)到256P~1 024P Flops。硬件的快速發(fā)展帶來了計算能力的不斷提升,為深度學(xué)習(xí)的發(fā)展提供了保證。
(3)改變之三:“預(yù)訓(xùn)練—微調(diào)”兩階段方法成為主流。近年來,基于預(yù)訓(xùn)練語言模型的深度學(xué)習(xí)方法,重寫了自然語言處理的方式。特別是自Google AI團(tuán)隊2018 年發(fā)布Bidirectional Encoder Representations from Transformers(BERT)模型[10]以來,基于“預(yù)訓(xùn)練+微調(diào)”的兩階段模式,成為自然語言處理的主流。
在預(yù)訓(xùn)練(Pre-Training)階段,通過對大規(guī)模無標(biāo)注語料(如Wikipedia、BookCorpus 等)的無監(jiān)督訓(xùn)練,有效學(xué)習(xí)文本的語言特征(如詞法特征、句法特征、語法特征、上下文特征等),實現(xiàn)在深層雙向神經(jīng)網(wǎng)絡(luò)中文本內(nèi)容的深層向量表示,建立起相關(guān)領(lǐng)域的預(yù)訓(xùn)練語言表示模型;在微調(diào)(Fine-Tuning)階段,在預(yù)訓(xùn)練語言模型的基礎(chǔ)上,針對具體的下游任務(wù)(如文本分類、信息抽取、命名實體識別、自動問答、閱讀理解等),以特定的經(jīng)過標(biāo)注的語料為輸入,在模型上再加入一個輸出層,在深度學(xué)習(xí)的基礎(chǔ)上,實現(xiàn)具體的下游任務(wù)。
基于“預(yù)訓(xùn)練—微調(diào)”的兩階段模式顛覆了傳統(tǒng)的自然語言處理方法。包括Google AI、Allen AI、Open AI、Facebook AI 等在內(nèi)的多個人工智能研究機(jī)構(gòu)憑借其數(shù)據(jù)資源及計算能力優(yōu)勢,都開展了預(yù)訓(xùn)練語言表示模型的研究,發(fā)布了ELMo[11]、GPT[12]、BERT[10]、GPT-2[13]、XLNet[14]、RoBERTa[15]等通用的英文預(yù)訓(xùn)練語言表示模型。這些模型相繼刷新了通用語言理解評估基準(zhǔn)GLUE[16]榜單,推動了自然語言處理的研究不斷接近甚至超越人類。在中文語言模型的研究方面,國內(nèi)多家機(jī)構(gòu)也結(jié)合中文語言的相關(guān)特點,發(fā)布了中文的預(yù)訓(xùn)練語言模型。如百度發(fā)布的ERNIE1.0[17]和ERNIE2.0[18],哈爾濱工業(yè)大學(xué)與科大訊飛聯(lián)合實驗室發(fā)布的Chinese-BERT-wwm[19]以及清華大學(xué)發(fā)布的OpenClap[20]等。這些模型通過加入特定語料或者改造預(yù)訓(xùn)練任務(wù)的方式,生成了適用于中文的預(yù)訓(xùn)練語言模型,從而在各種中文自然語言處理任務(wù)上取得了新的突破。
科技文獻(xiàn)蘊(yùn)含著豐富的科技知識,對其進(jìn)行充分的挖掘利用可以實現(xiàn)從“科技文獻(xiàn)庫”到“科技知識引擎”的轉(zhuǎn)變。人工智能(AI)需要語料來對模型進(jìn)行訓(xùn)練,獲取解決問題的知識,而科技文獻(xiàn)中蘊(yùn)含著豐富相關(guān)性知識和豐富語義知識,科技文獻(xiàn)庫就是很好的人工智能語料庫。
而科技論文是科技知識的最重要載體,除了科技論文的研究主題和所屬領(lǐng)域分類,還有很多更有價值的深層知識內(nèi)容,如概念定義、研究背景、研究問題、研究基礎(chǔ)、研究思路、論文中應(yīng)用到的理論工具和方法、論文所進(jìn)行的科學(xué)試驗、得到的實驗結(jié)果、形成的研究結(jié)論等豐富的知識內(nèi)容。因此可將科技文獻(xiàn)庫蘊(yùn)含的知識分為外部相關(guān)性知識和內(nèi)部豐富的語義知識進(jìn)行開發(fā)和利用。
(1)科技文獻(xiàn)中的相關(guān)性知識。一篇科技論文具有很多外部的特征,比如作者、作者機(jī)構(gòu)、期刊分類號、關(guān)鍵詞等,這其中就隱藏著重要的知識關(guān)系,若我們利用文獻(xiàn)內(nèi)容與外部特征之間一一對應(yīng)的結(jié)構(gòu)化信息,將這些外部特征作為文獻(xiàn)的標(biāo)簽,就可以形成較為成熟的人工智能訓(xùn)練學(xué)習(xí)語料。通過機(jī)器學(xué)習(xí)等技術(shù)手段建模,就可以實現(xiàn)面向新的文獻(xiàn)數(shù)據(jù)的自動化應(yīng)用。如謝瑋等設(shè)計的基于TextRank 圖算法思想的論文推薦系統(tǒng),可實現(xiàn)自動為論文分配審稿人[21];王冬暉等提出的基于內(nèi)容的科技論文推薦系統(tǒng),可達(dá)到自動推薦期刊、會議的目的[22]。
(2)科技文獻(xiàn)中的豐富語義知識。除了外部特征,一篇科技論文中還有很多更有價值的深層知識內(nèi)容,如論文中出現(xiàn)的概念定義、用到的工具方法等,我們稱之為豐富語義(Rich Semantics)知識。豐富語義相對于一般意義上的語義而言,它是由多類型語義元素有機(jī)組合在一起的復(fù)合體,具有結(jié)構(gòu)化、模型化的特征。
許多國際知名學(xué)者和實驗室正在嘗試將豐富語義知識從文獻(xiàn)中抽取和揭示出來,對科技文獻(xiàn)的語篇元素建立了自動標(biāo)注模型,我們開展了深入的調(diào)研研究[23],如SciAnnotDoc 模型[24]、CoreSC 模型[25]、AZ 模型[26]和Multi-Layer Scientific Discourse 模型[27]等。這些模型雖然由不同的任務(wù)驅(qū)動,但它們不僅在類別上具有相似的名字,在具體的標(biāo)注范圍也存在著交叉覆蓋,基本上可以概括為研究目標(biāo)、研究背景、研究方法、研究發(fā)現(xiàn)、研究結(jié)論以及包含科技文獻(xiàn)中對關(guān)鍵術(shù)語的研究定義。
當(dāng)前的預(yù)訓(xùn)練模型和應(yīng)用,主要是基于網(wǎng)頁新聞、維基百科等數(shù)據(jù)實現(xiàn)模型的預(yù)訓(xùn)練。由于科技文獻(xiàn)具有特定的結(jié)構(gòu)、格式、用語、用詞等特征,這些預(yù)訓(xùn)練模型在支持科技文獻(xiàn)的挖掘利用方面還存在不足,因此本文基于科技文獻(xiàn)開展人工智能挖掘應(yīng)用具有重要意義。
為充分挖掘隱藏著豐富知識內(nèi)容的科技文獻(xiàn)資源,實現(xiàn)從“科技文獻(xiàn)庫”到“科技知識引擎”的轉(zhuǎn)變,本文提出構(gòu)建基于科技文獻(xiàn)知識的人工智能(AI)引擎的基本思路,如圖1 所示。從“預(yù)訓(xùn)練—微調(diào)”兩階段模式出發(fā),首先以大規(guī)模的科技文獻(xiàn)資源、科技信息文本等為基礎(chǔ),構(gòu)建中國科技論文預(yù)訓(xùn)練模型(CsciBERT)。然后在預(yù)訓(xùn)練模型的基礎(chǔ)之上,以“微調(diào)”的方式,結(jié)合科技文獻(xiàn)數(shù)據(jù)中豐富的標(biāo)記語料,構(gòu)建基于科技文獻(xiàn)知識的AI 引擎。
圖1 基于科技文獻(xiàn)知識的人工智能AI 引擎建設(shè)思路Fig.1 Ideas for building the AI engine based on knowledge in scientific and technological literature
本文對基于BERT 的預(yù)訓(xùn)練模型整體結(jié)構(gòu)進(jìn)行研究,總結(jié)預(yù)訓(xùn)練模型主要包含4個層次:輸入層(Input)、嵌入層(Embedding)、網(wǎng)絡(luò)層(Transformer Encoder)和目標(biāo)層(Target)。針對每一個層次,開展了優(yōu)化和改造研究,提出了中國科技論文預(yù)訓(xùn)練基礎(chǔ)語言模型(CsciBERT)建設(shè)思路,如圖2 所示。
輸入層:主要對應(yīng)預(yù)訓(xùn)練語料庫的構(gòu)建工作,充分發(fā)揮文獻(xiàn)情報中心科技文獻(xiàn)原始數(shù)據(jù)優(yōu)勢,豐富語料。BERT 原始中文模型BERT-base-Chinese 采用了中文維基百科語料,對于本文中文科技文獻(xiàn)預(yù)訓(xùn)練模型,收集整理的預(yù)訓(xùn)練數(shù)據(jù)語料包括:①CSCD 中文科技文獻(xiàn)摘要;②中文科技論文全文;③特定領(lǐng)域網(wǎng)絡(luò)科技信息文本;④特定領(lǐng)域相關(guān)圖書文本;⑤特定領(lǐng)域相關(guān)術(shù)語詞表、知識庫等。在此基礎(chǔ)上構(gòu)建研究全領(lǐng)域預(yù)訓(xùn)練語料庫及生物醫(yī)學(xué)、物理學(xué)、化學(xué)領(lǐng)域的預(yù)訓(xùn)練語料庫。
嵌入層:主要用于原始語料的特征描述,在BERT 基礎(chǔ)上,通過加入領(lǐng)域詞表和POS 標(biāo)簽融合更多外部知識特征。
網(wǎng)絡(luò)層:由復(fù)雜的Transformer 神經(jīng)網(wǎng)絡(luò)構(gòu)成,實現(xiàn)自動學(xué)習(xí)。通過改進(jìn)Mask 矩陣完善Transformer 中的注意力學(xué)習(xí)機(jī)制,提升學(xué)習(xí)效果。
目標(biāo)層:通過設(shè)計語言模型訓(xùn)練目標(biāo)完成模型訓(xùn)練,針對不同的語料特點,設(shè)計多種訓(xùn)練目標(biāo),完成多任務(wù)學(xué)習(xí)。
基于上述建設(shè)思路,可以利用不同的預(yù)訓(xùn)練語料,產(chǎn)出不同的模型輸出,構(gòu)建不同的預(yù)訓(xùn)練語言模型,如通用的科技論文預(yù)訓(xùn)練語言模型(CsciBERT)及生物醫(yī)學(xué)、物理學(xué)、化學(xué)等特定領(lǐng)域的預(yù)訓(xùn)練語言模型CMedBERT、CMedBERT、CPhyBERT、CChemBERT。
圖2 中國科技論文預(yù)訓(xùn)練模型(CsciBERT)設(shè)計框架Fig.2 The design framework of Chinese sci-tech papers pre-training model(CsciBERT)
通過“微調(diào)”的方式,針對知識服務(wù)工作的實際需求,將構(gòu)建好的預(yù)訓(xùn)練語言模型應(yīng)用于不同的下游任務(wù)中,如可以將文獻(xiàn)服務(wù)工作中的審稿人推薦、期刊投稿推薦、文獻(xiàn)自動分類等應(yīng)用作為預(yù)訓(xùn)練模型的下游任務(wù),形成相應(yīng)的微調(diào)模型,進(jìn)一步形成基于科技文獻(xiàn)的知識引擎。
如圖3 所示,科技文獻(xiàn)數(shù)據(jù)中豐富的科學(xué)知識很容易轉(zhuǎn)化為機(jī)器學(xué)習(xí)的標(biāo)記語料。通過構(gòu)建文獻(xiàn)—作者、文獻(xiàn)—期刊、文獻(xiàn)—機(jī)構(gòu)、文獻(xiàn)—分類號、文獻(xiàn)—關(guān)鍵詞、摘要—語步、語句—定義等對應(yīng)關(guān)系,可以形成深度學(xué)習(xí)的訓(xùn)練語料。以預(yù)訓(xùn)練語言模型為起點,在模型上加入一個分類層,用“微調(diào)”的方式形成相應(yīng)的深度學(xué)習(xí)模型。采用微服務(wù)等架構(gòu),可以實現(xiàn)模型的快速調(diào)用。從而對于任意的科技文獻(xiàn),可以提供審稿人、分類號、期刊等實時推薦接口,從而建成面向?qū)嶋H應(yīng)用的科技文獻(xiàn)知識引擎。
圍繞上述設(shè)計思路和設(shè)計方案,團(tuán)隊開展了具體的項目實踐。如圖4 所示,分別在科技論文摘要語步識別、科技文獻(xiàn)自動分類、科技論文命名實體識別、科技論文概念定義句識別、科技論文關(guān)鍵詞識別、科技文本標(biāo)簽自動生成、科技論文投稿期刊自動推薦、科技期刊審稿人自動推薦等8 項任務(wù)應(yīng)用中開展引擎建設(shè)實踐。針對每一項任務(wù)分別構(gòu)建了科技文獻(xiàn)知識引擎微調(diào)模型,并對微調(diào)模型完成封裝調(diào)用,初步建成基于科技文獻(xiàn)知識資源的AI 引擎服務(wù)平臺,提供網(wǎng)頁客戶端和API 服務(wù)接口兩種對外服務(wù)模式。下邊分別介紹引擎微調(diào)模型實踐和AI 引擎服務(wù)平臺實踐。
4.1.1 科技論文摘要語步識別
在研究型論文摘要中,通常需要指出文章的研究目的、方法、結(jié)果和結(jié)論,筆者將這些語言單元稱為科技論文摘要中的語步[28]。自動識別科技文獻(xiàn)摘要中的語步信息,有助于讀者快速掌握文章的主要內(nèi)容,在科技文獻(xiàn)的檢索與發(fā)現(xiàn)系統(tǒng)中也具有重要應(yīng)用價值。
我們提出Masked Sentence Model[29]來解決語步自動識別問題。通過改造BERT 輸入層,將摘要中句子的內(nèi)容特征與上下文特征有效結(jié)合,在語步識別實驗中取得了較好的效果。使用PubMed 20K RCT[30]語料集,其中訓(xùn)練集包含20 000 篇摘要,驗證集和測試集各包含2 500 篇摘要。按照Masked Sentence Model 的思想,將數(shù)據(jù)集構(gòu)造如表1 所示。
圖3 基于科技文獻(xiàn)知識的AI 引擎設(shè)計框架Fig.3 The design framework of the AI engine based on knowledge in scientific and technological literature
圖4 基于科技文獻(xiàn)知識的人工智能AI 引擎建設(shè)實踐內(nèi)容Fig.4 Content of AI engine construction based on knowledge in scientific and technological literature
表1 Masked Sentence Model 語料示例[29]Table 1 Examples of Masked Sentence Model in our corpus[29]
其中,對于摘要中每一個句子,將其本身作為內(nèi)容特征,將完整摘要中除目標(biāo)句之外的所有句子作為該句子的上下文。在上下文特征的表示中,將目標(biāo)句用統(tǒng)一的替換字符串“AAA”代替,然后將處理后的摘要內(nèi)容作為該句子的上下文特征輸入到模型。
表2 為Masked Sentence Model 的實驗結(jié)果。其中Step1 表示僅輸入句子內(nèi)容特征(與BERT Fine-Tuning分類的輸入一致),Step2 表示僅輸入句子上下文特征,Step3 表示合并兩種特征的輸入方式,即Masked Sentence Model。實驗結(jié)果表明,Masked Sentence Model模型在PubMed 20K 數(shù)據(jù)集上取得了91.5 的F1 值,相比BERT fine-tune 方法,提升5.04,接近該數(shù)據(jù)集上的最好效果模型HSLN-RNN[31]。
表2 Masked Sentence Model 實驗結(jié)果Table 2 Experimental results of Masked Sentence Model
4.1.2 科技文獻(xiàn)自動分類
基于中圖分類法構(gòu)建了中文科技文獻(xiàn)的多層級分類模型[32],如圖5 所示。通過兩層的分類模型實現(xiàn)醫(yī)學(xué)領(lǐng)域112個類別劃分:先構(gòu)建第一層大類分類模型(First Level),用于預(yù)測16個醫(yī)學(xué)二級類目(R1-R9)大類分類結(jié)果。然后對每個一級大類構(gòu)建第二層分類模型(Second Level),進(jìn)一步細(xì)分,預(yù)測醫(yī)學(xué)三級類目(R11-R99)。
針對每一個分類模型,利用科技文獻(xiàn)摘要及分類號構(gòu)建映射關(guān)系,構(gòu)建用于模型微調(diào)的數(shù)據(jù)集。數(shù)據(jù)示例如表3 所示。
在人工構(gòu)建的測試集上對兩層分類模型完成測試,同時對比了單層分類(訓(xùn)練一個模型,直接預(yù)測112個醫(yī)學(xué)三級類目)的實驗結(jié)果,結(jié)果如表4 所示。實驗結(jié)果表明,BERT 兩層分類模型相比單層分類方法,效果提升4.39%。
4.1.3 科技命名實體識別
通用領(lǐng)域的命名實體識別中實體類別一般包括人名、地名、機(jī)構(gòu)名等,在科技文獻(xiàn)中存在更豐富的實體類型值得挖掘利用,例如工具模型、方法理論等。針對物理學(xué)領(lǐng)域,構(gòu)建科技實體識別體系。利用物理學(xué)本體ScienceWISE 構(gòu)建了物理學(xué)領(lǐng)域?qū)嶓w的范疇體系,包括一級范疇4個,二級范疇47個。一級范疇包括:計量、儀器和數(shù)據(jù)分析、現(xiàn)象和現(xiàn)象規(guī)律、模型、方法理論和數(shù)學(xué),二級范疇包括量子力學(xué)、核物理學(xué)、理論宇宙學(xué)等。利用該范疇體系,借助預(yù)訓(xùn)練模型微調(diào),實現(xiàn)了物理學(xué)領(lǐng)域細(xì)粒度的科技命名實體識別。
表3 中圖法醫(yī)學(xué)層級分類數(shù)據(jù)示例Table 3 Medical record examples based on the Chinese Library Classification
表4 醫(yī)學(xué)領(lǐng)域?qū)蛹壏诸悓嶒灲Y(jié)果Table 4 Classification experiment results of medical records
研究將物理學(xué)領(lǐng)域科技文獻(xiàn)摘要及其ScienceWISE范疇構(gòu)建為BIO 格式標(biāo)注語料(對語料中的每個單詞進(jìn)行標(biāo)記,B 表示某實體開頭的單詞,I 表示實體內(nèi)部的單詞,O 表示實體外部的單詞),作為模型微調(diào)的數(shù)據(jù)集。其中訓(xùn)練集90 000 條,測試集2 000 條。數(shù)據(jù)示例如表5 所示。
研究對一級范疇和二級范疇的模型識別結(jié)果分別統(tǒng)計,實驗結(jié)果如表6 所示顯示,模型在一級和二級范疇的識別F1 值均達(dá)到90%以上。
4.1.4 科技論文關(guān)鍵詞識別
圖5 基于中圖分類法的多層分類模型Fig.5 Multi-layer classification model based on the Chinese Library Classification
表5 科技文獻(xiàn)命名實體識別數(shù)據(jù)樣例Table 5 Samples of named entity recognition data in scientific and technological literature
表6 命名實體實驗結(jié)果Table 6 Experimental results of named entities
關(guān)鍵詞抽取任務(wù)指從文本中抽取重要的主題短語,是信息檢索、文本摘要、文本分類、意見挖掘和文檔索引的基礎(chǔ)。在科技文獻(xiàn)中,從摘要原文中自動抽取幾個關(guān)鍵短語,作為該文獻(xiàn)的關(guān)鍵詞。將其定義為字級別序列標(biāo)注問題,利用BERT 模型微調(diào)構(gòu)建科技論文關(guān)鍵詞識別模型[33]。
我們將科技文獻(xiàn)摘要與關(guān)鍵詞數(shù)據(jù)進(jìn)行整理,以BIO 方式構(gòu)建模型微調(diào)數(shù)據(jù)集。選擇100 000 條記錄作為訓(xùn)練數(shù)據(jù)集,6 000 條記錄作為評估集,3 094 條記錄作為測試集,數(shù)據(jù)示例如表7 所示。
對比傳統(tǒng)無監(jiān)督的TF-IDF[34]方法以及基于深度學(xué)習(xí)序列標(biāo)注的BiLSTM-CRF[35]方法。基于字級別序列標(biāo)注的微調(diào)模型取得最佳效果,結(jié)果如表8 所示。
表7 關(guān)鍵詞識別模型數(shù)據(jù)集示例Table 7 Sample dataset of the keyword recognition model
表8 關(guān)鍵詞識別模型微調(diào)實驗結(jié)果Table 8 Experimental results of the fine-tuned model of keyword recognition
4.1.5 科技論文概念定義句識別
概念定義句識別任務(wù)為自動識別科技文獻(xiàn)中表達(dá)概念定義的句子。將其作為一個二分類問題,利用預(yù)訓(xùn)練模型微調(diào)的方式構(gòu)建概念定義句自動識別模型。
首先基于科技網(wǎng)站、維基百科等收集整理了8 000個概念數(shù)據(jù)和非概念句子,作為訓(xùn)練集,以BERT Fine-Tuning 方法構(gòu)建二分類模型,數(shù)據(jù)示例如表9 所示。
表9 概念定義句識別數(shù)據(jù)示例Table 9 Sample sentences that contain a concept or a definition
在結(jié)果測試時,同時使用了統(tǒng)一WCL 定義句識別數(shù)據(jù)集[36]對我們的方法進(jìn)行測試,結(jié)果如圖表10 所示。結(jié)果表示,我們的方法在定義句識別任務(wù)中達(dá)到0.926 的F1 值,遠(yuǎn)遠(yuǎn)超越了WCL 原始測評方法的效果。
表10 WCL 數(shù)據(jù)集測評結(jié)果Table 10 Test results of the WCL dataset
4.1.6 科技文本標(biāo)簽自動生成
科技文本標(biāo)簽自動生成旨在為科技文本內(nèi)容生成標(biāo)簽,以反映文本的主要內(nèi)容。在科技文獻(xiàn)中,利用摘要內(nèi)容,自動生成一個新的短語概括文獻(xiàn)內(nèi)容,作為其文本標(biāo)簽。使用基于BERT 的生成式模型UniLM[37],以序列到序列(Seq-to-Seq)模式,進(jìn)行文本生成模型的微調(diào)實驗。
研究將科技文獻(xiàn)的標(biāo)題作為其摘要的文獻(xiàn)標(biāo)題,構(gòu)建文獻(xiàn)標(biāo)題生成的數(shù)據(jù)集,如表11 所示。提取全領(lǐng)域中文科技論文的摘要及標(biāo)題,共計50 萬條來完成微調(diào)模型的訓(xùn)練。
在結(jié)果測試時,隨機(jī)抽取了部分科技文獻(xiàn)摘要完成測試。通過對比原論文題目(圖6)和模型生成的標(biāo)題(圖7),發(fā)現(xiàn)模型自動生成的標(biāo)題能夠完成對論文原始摘要內(nèi)容的概括,與原文標(biāo)題也比較相似。
4.1.7 科技論文投稿期刊自動推薦
科技期刊審稿人自動推薦旨在根據(jù)科技論文摘要內(nèi)容,自動推薦若干與該論文相關(guān)的領(lǐng)域?qū)<易鳛楹蜻x審稿人。這項任務(wù)可快速幫助期刊編輯部發(fā)現(xiàn)和找到合適的審稿專家,加快審稿速度,提升審稿質(zhì)量。
同樣以文本分類模式,基于78 萬篇科技文獻(xiàn)和4萬多位作者構(gòu)建審稿人自動推薦數(shù)據(jù)集,將標(biāo)題和摘要作為輸入文本,作者作為分類標(biāo)簽,語料示例如表12 所示。
表11 科技文本標(biāo)簽自動生成數(shù)據(jù)集示例Table 11 Sample dataset of automatically generated text labels
表12 審稿人自動推薦語料示例Table 12 Examples of automatic recommendation of reviewers based on a paper's abstract
圖6 科技論文原始題錄信息示例Fig.6 An example of journal article metadata
圖7 科技文本標(biāo)題生成實際效果展示Fig.7 Actual effect of the generation of a text title
針對微調(diào)模型,筆者隨機(jī)抽取部分科技文獻(xiàn)摘要完成測試,結(jié)果示例如圖8 所示。我們發(fā)現(xiàn),對于大多數(shù)文獻(xiàn),模型都能推薦出相關(guān)性較高的審稿人。
4.1.8 科技期刊審稿人自動推薦
科技論文投稿期刊自動推薦旨在根據(jù)科技論文摘要內(nèi)容,自動推薦若干與該論文相關(guān)的期刊作為候選投稿期刊,可幫助科研人員快速找到合適的期刊。
圖8 審稿人自動推薦實際效果展示Fig.8 Actual effect of automatic recommendation of reviewers
以文本分類模式,基于科技文獻(xiàn)摘要及期刊信息構(gòu)建投稿期刊自動推薦數(shù)據(jù)集,標(biāo)題和摘要作為輸入文本,期刊作為分類標(biāo)簽。語料示例如表13 所示。其中包含全領(lǐng)域的文獻(xiàn)摘要2 729 244 篇,候選投稿期刊類型共計1 585 種。
針對微調(diào)模型,隨機(jī)抽取部分科技文獻(xiàn)摘要完成測試,結(jié)果示例如圖9 所示。我們發(fā)現(xiàn)對于大多數(shù)文獻(xiàn),模型都能夠推薦出相關(guān)性較高的期刊。
為推動科技文獻(xiàn)知識引擎在文獻(xiàn)情報工作中的實際應(yīng)用,初步建成科技文獻(xiàn)AI 引擎服務(wù)平臺。如圖10所示,平臺架構(gòu)主要包含3個層次,模型封裝層:以BERT-AS-SERVICE 工具將微調(diào)模型封裝,形成底層模型微服務(wù);Web 響應(yīng)中間件層:基于Python 語言的FLask+Tornado+Nginx 架構(gòu)形成Web 響應(yīng)架構(gòu),實現(xiàn)反向代理、動靜分離、負(fù)載均衡;引擎服務(wù)層:AI 引擎對外提供兩種形式服務(wù),包括網(wǎng)頁端在線標(biāo)注和API 接口服務(wù)。
表13 投稿期刊自動推薦語料示例Table 13 Examples of journal recommendation based on a paper's abstract
圖9 科技論文投稿期刊自動推薦實際效果展示Fig.9 An example of automatic journal recommendation
圖10 科技文獻(xiàn)AI 引擎平臺架構(gòu)圖Fig.10 AI engine platform based on scientific and technological literature
4.2.1 底層微調(diào)模型優(yōu)化調(diào)用實踐
針對實際應(yīng)用,對知識引擎模型加載和調(diào)用過程進(jìn)行優(yōu)化。
一方面,使用Freeze_Graph 工具完成微調(diào)模型的固化壓縮,將原有的1.22GB 的.ckpt 模型文件壓縮到為417MB 的.pb 文件,大大縮減了模型的空間占用。
另一方面,參考Web 服務(wù)快速調(diào)用的模式,利用BERT-AS-SERVICE 工具,在應(yīng)用端和BERT 模型服務(wù)端之間構(gòu)建起中間件微服務(wù)端,實現(xiàn)模型的預(yù)加載,并通過實時服務(wù)端口提高調(diào)用效率。
通過上述兩種優(yōu)化方式,對單篇摘要的標(biāo)注平均時間從原來的10 秒縮減為1 秒,明顯提升了系統(tǒng)響應(yīng)效率。
4.2.2 網(wǎng)頁端在線標(biāo)注服務(wù)實踐
提供上述所有應(yīng)用的在線標(biāo)注服務(wù)(http://sciengine.whlib.ac.cn/)。通過在網(wǎng)頁端輸入任意科技文本,系統(tǒng)將自動調(diào)用相應(yīng)的微調(diào)模型,完成模型預(yù)測,返回實時的標(biāo)注結(jié)果,如圖11 為其中一種應(yīng)用,語步識別在線標(biāo)注服務(wù)示意圖。
4.2.3 API 接口服務(wù)實踐
同時提供基于GET 和POST 兩種方式的API 接口服務(wù)。
GET方式支持單篇文檔,如圖12所示,url 為http://sciengine.whlib.ac.cn/Move_GET,傳入英文摘要文本,以json 格式返回該摘要的語步標(biāo)注結(jié)果。
POST 方式支持多篇文檔,如圖13 所示,url 為http://sciengine.whlib.ac.cn/Move_POST,將多個摘要文檔以list 類型上傳,以json 格式將多篇摘要標(biāo)注結(jié)果放在列表中返回,其中每篇摘要標(biāo)注結(jié)果格式與上述GET 方式一致。
圖11 語步識別在線標(biāo)注服務(wù)示意圖Fig.11 A diagram of move recognition in an abstract
圖12 GET 方式訪問示例Fig.12 An example of GET access
圖13 POST 方式訪問示例Fig.13 An example of POST access
本文以文獻(xiàn)情報工作為出發(fā)點,探究人工智能取得飛速突破的本質(zhì)所在,立足科技文獻(xiàn)是人類知識的重要載體,圍繞如何充分挖掘和利用文獻(xiàn)情報知識價值和作用,創(chuàng)新性提出了文獻(xiàn)情報領(lǐng)域從“科技文獻(xiàn)庫”到“科技知識引擎”轉(zhuǎn)變的建設(shè)思路,論述了中國科學(xué)院文獻(xiàn)情報中心在構(gòu)建基于科技文獻(xiàn)知識的人工智能(AI)引擎的建設(shè)實踐,初步取得了一定效果和成果,但仍存在很多問題和挑戰(zhàn),在接下來的工作中將進(jìn)一步完善和改進(jìn)。首先,鑒于語料收集整理工作不充分,下一步會進(jìn)一步收集、整理預(yù)訓(xùn)練語料庫,尤其是特定領(lǐng)域科技文獻(xiàn)全文、書籍、知識庫、術(shù)語詞表等。其次,應(yīng)用推廣工作待完善。進(jìn)一步完善基于科技文獻(xiàn)知識資源的AI 引擎平臺建設(shè),完善相關(guān)功能,提升平臺運(yùn)行效率,完善對外服務(wù)API 接口建設(shè),盡快正式發(fā)布基于科技文獻(xiàn)知識的人工智能(AI)引擎。最后,實際應(yīng)用效果待提升?;诳萍嘉墨I(xiàn)情報工作的實際應(yīng)用場景,進(jìn)一步實驗、測試模型的應(yīng)用效果,根據(jù)實際情況調(diào)整相關(guān)研究的改進(jìn)方向,形成實際可用、有效的工具化的模型。