• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SciBERT-BiLSTM-CRF-wordMixup的軟件實體識別研究

      2024-10-08 00:00:00潘雪蓮錢雨菲王憲雨
      現(xiàn)代情報 2024年10期

      關(guān)鍵詞: 軟件實體識別; 命名實體識別; 深度學(xué)習(xí); 數(shù)據(jù)增強(qiáng);SciBERT

      DOI:10.3969 / j.issn.1008-0821.2024.10.007

      〔中圖分類號〕TP391 〔文獻(xiàn)標(biāo)識碼〕A 〔文章編號〕1008-0821 (2024) 10-0075-11

      軟件在現(xiàn)代科學(xué)研究中發(fā)揮著重要作用, 它被用于科學(xué)研究的諸多方面, 但其學(xué)術(shù)價值一直被低估甚至忽略。近年來, 隨著數(shù)據(jù)密集型科學(xué)研究范式的興起和數(shù)據(jù)價值認(rèn)可度的提高, 一些學(xué)者開始呼吁重視軟件的價值, 因為“幾乎所有的數(shù)據(jù)都需要軟件進(jìn)行某種形式的處理”[1] 。一些國外組織機(jī)構(gòu)也開始將軟件認(rèn)定為有效科研成果[2-3],以鼓勵科學(xué)家開發(fā)和共享軟件。在此背景下, 學(xué)界開始探討如何量化評價軟件的影響力。一些學(xué)者提出使用被引次數(shù)來測度軟件的學(xué)術(shù)影響力[4] 。然而研究發(fā)現(xiàn),學(xué)術(shù)論文中軟件引用缺失嚴(yán)重且普遍存在[5-6] 。因此, 有學(xué)者提出用學(xué)術(shù)論文全文中的軟件使用頻次來評價軟件的學(xué)術(shù)影響力[7] 。隨之而來的問題是, 如何從學(xué)術(shù)論文全文中識別軟件??焖贉?zhǔn)確地從學(xué)術(shù)論文全文中識別出軟件實體, 將使得從軟件使用視角大規(guī)模量化評估軟件學(xué)術(shù)影響力成為可能, 為有關(guān)部門將軟件納入科研評價體系提供數(shù)據(jù)支撐, 對深入認(rèn)識軟件的學(xué)術(shù)價值、促進(jìn)科學(xué)軟件可持續(xù)發(fā)展和學(xué)術(shù)生態(tài)體系均衡發(fā)展具有重要意義。此外, 對學(xué)術(shù)論文中的軟件實體進(jìn)行識別和量化分析, 也有助于豐富和拓展信息計量學(xué)的研究對象, 還可以為其他知識實體的識別和計量提供方法參考。

      軟件實體在學(xué)術(shù)論文中的分布非常稀疏, 邊界不清晰且形式多變, 識別難度較大。早期的軟件實體的識別大多基于人工或規(guī)則?;谌斯さ淖R別方法具有可靠性高的優(yōu)點, 但是十分耗費(fèi)時間成本和人力成本, 難以滿足多領(lǐng)域大規(guī)模的軟件識別需求?;谝?guī)則和詞典的方法相較于人工識別能夠節(jié)省人力, 但是其可擴(kuò)展性并不高。首先, 規(guī)則的制定與詞典的生成依賴相關(guān)領(lǐng)域?qū)<乙庖姡?規(guī)則和詞典規(guī)模的擴(kuò)大通常可以提高模型的識別準(zhǔn)確率和召回率,但這給專家構(gòu)建規(guī)則帶來了更大負(fù)擔(dān); 其次, 不同研究領(lǐng)域制定的規(guī)則和詞典往往難以被其他領(lǐng)域利用, 其可擴(kuò)展性有限; 最后, 對于軟件實體識別領(lǐng)域而言, 提及軟件的模式多變以及新軟件的不斷涌現(xiàn)使得制定普適性的軟件識別規(guī)則十分困難。鑒于此, 近年來一些學(xué)者使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法來自動識別軟件實體。然而, 需要大量人工標(biāo)注數(shù)據(jù)訓(xùn)練模型的有監(jiān)督的機(jī)器學(xué)習(xí)方法也存在耗時長的缺點, 不適合用來處理多領(lǐng)域大規(guī)模的軟件識別任務(wù)。深度學(xué)習(xí)方法可以自動學(xué)習(xí)詞匯語義、上下文依賴關(guān)系等, 已成為識別命名實體的一種較為有效的方法[8-10] 。因此, 一些學(xué)者嘗試將深度學(xué)習(xí)方法引入軟件實體識別領(lǐng)域。例如, Schindler D 等[11]在自建的社會科學(xué)研究語料庫上, 使用BiLSTMCRF進(jìn)行訓(xùn)練以識別軟件名稱, 孫超[12] 使用Glove-BiLSTM-CRF、BERT-BiLSTM-CRF 和BERT-BiL?STM-GCN-CRF 模型對軟件工程文本中的軟件實體進(jìn)行識別。這些研究為基于學(xué)術(shù)論文全文的軟件實體識別任務(wù)提供了借鑒思路。

      本研究以學(xué)術(shù)論文中的軟件實體為研究對象。首先, 通過軟件實體定義和BIO 標(biāo)注構(gòu)建軟件實體識別領(lǐng)域語料庫; 然后, 在此基礎(chǔ)上提出改進(jìn)的SciBERT-BiLSTM-CRF-wordMixup 模型并對該模型的識別效果進(jìn)行評估。此外, 本研究還針對人工標(biāo)注語料庫耗時耗力問題, 設(shè)計一種基于小型知識庫的程序輔助標(biāo)注方案。

      1相關(guān)工作概述

      命名實體識別(Named Entity Recognition,NER)是自然語言處理中的一個重要基礎(chǔ)任務(wù), 旨在從非結(jié)構(gòu)化文本中識別出人名、地名、事件名等具有特定含義的實體并加以歸類, 對句法分析、文本分類、機(jī)器翻譯等許多自然語言處理下游任務(wù)均具有重要的支撐作用[13] 。命名實體識別方法主要包括基于人工識別、基于規(guī)則和詞典提取、基于傳統(tǒng)機(jī)器學(xué)習(xí)和基于深度學(xué)習(xí)的抽取方法。軟件實體不是人名、地名、機(jī)構(gòu)名、時間、日期、貨幣和百分比這些傳統(tǒng)意義上的命名實體,軟件實體形式多樣, 在學(xué)術(shù)論文中邊界不清晰, 提及軟件實體的模式多變, 且提及軟件的模式也常被用來提及實驗儀器設(shè)備和化學(xué)試劑等, 自動識別難度較大。因此, 一些學(xué)者采用人工對有限數(shù)量論文中的軟件實體進(jìn)行識別。例如, Li K 等[14]為探究PLOS ONE 期刊論文中的R包引用情況, 對391篇抽樣論文全文文本中的R包進(jìn)行人工識別; Yang B等[15] 采用人工對生物信息學(xué)領(lǐng)域期刊論文全文中的軟件實體進(jìn)行識別, 并據(jù)此探究科學(xué)軟件對生物信息學(xué)研究的重要性; 孟文靜等[16] 采用人工方法對圖書情報學(xué)國際期刊論文中使用的Python軟件包進(jìn)行標(biāo)注, 并據(jù)此探究Python 軟件工具在圖書情報學(xué)領(lǐng)域的應(yīng)用擴(kuò)散過程。人工識別軟件實體具有可靠性高的優(yōu)點, 但十分耗費(fèi)時間和人力, 該方法通常僅適用于樣本數(shù)量有限的小規(guī)模研究, 不太適用于針對多學(xué)科大規(guī)模文本數(shù)據(jù)的軟件識別任務(wù)。

      基于規(guī)則和詞典的命名實體識別方法比人工識別方法效率高, 但由于軟件種類繁多, 目前尚無軟件詞典可用且新軟件不斷涌現(xiàn), 基于規(guī)則和詞典的方法難以很好地完成軟件實體識別任務(wù)。因此, 一些學(xué)者將基于規(guī)則和詞典的方法與機(jī)器學(xué)習(xí)方法相結(jié)合來識別非結(jié)構(gòu)化自由文本中的軟件、數(shù)據(jù)庫等有價值命名實體。例如, Thelen M 等[17] 提出了一種基于自擴(kuò)展的命名實體識別方法, 該方法只需要少量的種子詞和一個未標(biāo)注文本語料庫作為輸入。此后, 一些學(xué)者對該算法進(jìn)行改進(jìn)以提高算法性能。Yangarber R 等[18] 設(shè)計出模式精度和模式信度等指標(biāo)來過濾識別出來的模式和實體, 以提高算法精度。然而, 刪除小于一定閾值的模式會導(dǎo)致實體抽取的低召回率。Gupta S 等[19] 通過預(yù)判未標(biāo)注實體的標(biāo)簽來提高基于自擴(kuò)展的命名實體識別算法的性能。但是該算法需要借助外部領(lǐng)域詞典完成預(yù)判工作,并且該算法將高分模式抽取出的實體全部默認(rèn)為正確實體, 無法從中識別出錯誤實體。Duck G 等[20]于2013 年開發(fā)了一種基于規(guī)則的命名實體識別器bioNerDS, 用于從生物信息學(xué)原始文獻(xiàn)中抽取數(shù)據(jù)庫和軟件名稱, F1 值位于63%~91%區(qū)間。Duck G等[21] 于2015 年對之前提出的針對數(shù)據(jù)庫和軟件實體的識別算法進(jìn)行改進(jìn), 實驗結(jié)果表明, 基于詞典的方法F1 值為46%, 而機(jī)器學(xué)習(xí)方法在嚴(yán)格匹配和寬松匹配模式下的F1 值分別達(dá)63%和70%。Pan XL等[6] 借鑒Thelen M 等[17] 和Gupta S等[19] 的命名實體識別算法, 提出一種改進(jìn)的基于自擴(kuò)展的軟件實體自動識別算法, 該算法對PLOS ONE 期刊論文文本中的軟件實體進(jìn)行識別, 識別效果(F1 值)為58%。

      隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展和應(yīng)用的日益拓展, 一些學(xué)者開始將深度學(xué)習(xí)方法應(yīng)用于軟件實體識別任務(wù), 以提高識別效果。例如, Schindler D 等[11]在自建的社會科學(xué)研究語料庫上, 使用BiLSTMCRF進(jìn)行訓(xùn)練以識別軟件名稱, 該算法在測試集上的F1 值達(dá)82%。Lopez P 等[22] 使用CRF、BiL?STM-CRF(包括未加入特征、加入特征、加入EL?MO)、BERT-CRF 以及SCIBERT-CRT 模型對軟件實體進(jìn)行識別, 各模型在實驗語料上的F1 值分別為66.3%、69.8%、69.3%、71.6%、65.3%和74.6%。孫超[12] 使用Glove-BiLSTM-CRF、BERT-BiLSTMCRF和BERT-BiLSTM-GCN-CRF 模型對軟件工程文本中的軟件實體進(jìn)行識別, 3 個模型對軟件實體的整體識別F1 值分別為67.37%、79.51%和79.60%。Zhang H 等[23] 基于SciBERT 和級聯(lián)二元標(biāo)注框架構(gòu)建了技術(shù)相關(guān)實體識別模型, 模型對自然語言處理領(lǐng)域論文中方法、數(shù)據(jù)集、指標(biāo)和工具4 種技術(shù)相關(guān)實體的整體識別F1 值為87%, 但文章并未給出模型對工具類實體的識別效果。章成志等[24] 使用CRF、BiLSTM-CRF、BERT-CRF、SciBERT-CRF模型對自然語言處理領(lǐng)域?qū)W術(shù)論文中的方法實體進(jìn)行識別, 4 個模型對工具實體的整體識別F1 值分別為27%、38%、56%和57%。深度學(xué)習(xí)方法已證實在軟件實體識別任務(wù)中的適用性, 但已有研究構(gòu)建的識別模型F1 值大多在80%以下, 模型識別效果有待進(jìn)一步提升。

      2語料庫與識別模型構(gòu)建

      2.1語料來源

      本研究主要涉及兩個語料來源,一是SchindlerD等[25] 的公開數(shù)據(jù)集SoMeSci ( Version 0.2, ht?tps:/ / zenodo. org/record/4968738#.Yf9D49FBzb0),二是基于PLOS ONE期刊學(xué)術(shù)論文構(gòu)建的樣本庫PLoSSo。SoMeSci 是人工基于PubMed Center 開放獲取子集收錄的生物醫(yī)學(xué)領(lǐng)域?qū)W術(shù)論文文本構(gòu)建的語料庫, 包含論文“方法部分” 文檔、“全文文本”文檔等多個原始文本及對應(yīng)標(biāo)注文件。PubMed Cen?ter 是生物醫(yī)學(xué)領(lǐng)域開放獲取出版物的優(yōu)質(zhì)來源,覆蓋率高, 且已被Du C等[26] 和Duck G 等[27] 多位學(xué)者用作軟件提及黃金標(biāo)準(zhǔn)數(shù)據(jù)集構(gòu)建和軟件使用研究的語料來源。相較其他軟件公開數(shù)據(jù)集, So?MeSci 對軟件實體的標(biāo)注更為細(xì)致, 在對軟件實體類別進(jìn)行細(xì)分的同時還對軟件使用類型進(jìn)行劃分,并對軟件的版本、發(fā)布時間、開發(fā)者等相關(guān)信息加以標(biāo)注。前人研究[28] 表明, 大部分軟件實體出現(xiàn)在學(xué)術(shù)文章的方法部分, 因此, 本研究選擇SoMeSci數(shù)據(jù)集中學(xué)術(shù)論文方法部分的數(shù)據(jù)(包括480 篇方法部分原始文本數(shù)據(jù)及其對應(yīng)標(biāo)注數(shù)據(jù))作為正例補(bǔ)充。為擴(kuò)展語料庫的適用范圍, 本研究還選擇PLOS ONE 期刊刊載的學(xué)術(shù)論文作為新增語料來源,使用自編Python 程序抽取章節(jié)名包含“Method”的段落文本構(gòu)建樣本庫PLoSSo, 該樣本庫包括6 114篇論文, 12 280個段落, 64 577個句子。選擇PLOS ONE 作為新增語料來源, 一方面是因為PLOS ONE 是開放獲取期刊且其刊載了數(shù)量可觀的生物學(xué)、醫(yī)學(xué)、計算機(jī)科學(xué)、社會科學(xué)、工程技術(shù)等多學(xué)科學(xué)術(shù)論文, 另一方面是因為可以通過PLOS ONE 出版商提供的公共API 快速獲取適合機(jī)器處理的期刊論文全文本數(shù)據(jù)且該期刊的全文本數(shù)據(jù)已被Pan X L 等[7] 、Schindler D 等[11] 和Li K等[14] 多位學(xué)者用作軟件識別研究以及軟件黃金標(biāo)準(zhǔn)數(shù)據(jù)集構(gòu)建的語料來源。

      2.2數(shù)據(jù)標(biāo)注

      標(biāo)注好的數(shù)據(jù)才能輸入到機(jī)器學(xué)習(xí)模型和深度學(xué)習(xí)模型中, 使模型理解其蘊(yùn)含的語義信息[29] 。在進(jìn)行數(shù)據(jù)標(biāo)注前, 本研究參考Li K 等[30] 、SchindlerD 等[31] 的軟件類別劃分方法將軟件劃分為應(yīng)用程序(Application)、插件(PlugIn)、操作系統(tǒng)(Oper?ating System)、編程環(huán)境( Programming Environ?ment)四大類別。其中, 應(yīng)用程序指的是為終端用戶設(shè)計的獨立程序, 對應(yīng)用程序的使用通常會產(chǎn)出數(shù)據(jù)或項目文件的結(jié)果, 如Excel、Stata 等, Web端的應(yīng)用程序也包含在此類別中。插件指的是對于軟件的擴(kuò)充, 而其本身不能單獨存在使用, 例如Ggplot2 是R 的一個繪圖擴(kuò)展包, 并不能脫離于R這個平臺單獨成為一個軟件工具。操作系統(tǒng)是一種特殊類型的軟件, 是用來管理計算機(jī)所有硬件且執(zhí)行所有軟件進(jìn)程的軟件。編程環(huán)境指的是一個圍繞編程語言構(gòu)建的集成環(huán)境, 用于設(shè)計程序或腳本,通常包括編譯器和解釋器, 如C 語言環(huán)境等。

      除了對軟件類型加以劃分外, 本研究還參考軟件使用和提及相關(guān)研究[25,32] 將軟件提及類型劃分為使用(Usage)、提及(Mention)、沉積(Deposi?tion)、創(chuàng)造(Creation)四大類。其中, 使用指的是科研人員在其研究過程中所使用的軟件, 如“本研究所有分析均使用SPSS 軟件完成”。提及指的是科研人員在學(xué)術(shù)文章中提到但實際并沒有使用到當(dāng)前研究中的軟件。沉積指的是科研人員在研究過程中根據(jù)自身研究需求對軟件進(jìn)行的調(diào)整、優(yōu)化或更新等工作。創(chuàng)造指的是科研人員在研究過程中產(chǎn)出了新的軟件, 較可能出現(xiàn)于提出技術(shù)創(chuàng)新的學(xué)術(shù)文章中。此外, 本研究還對軟件的屬性特征進(jìn)行定義, 歸納出如下8 種常見的屬性特征: 開發(fā)者(De?veloper)、版本(Version)、URL、引用信息(Citation)、縮寫(Abbreviation)、別名(Alternative Name)、擴(kuò)展信息(Extension)和發(fā)布(Release)。

      合適的標(biāo)注工具能夠幫助標(biāo)注人員更加便捷、快速地完成相應(yīng)的語料文本標(biāo)注任務(wù)。因此, 本研究在進(jìn)行數(shù)據(jù)標(biāo)注前對常用的標(biāo)注工具進(jìn)行比較分析, 據(jù)此選擇能夠滿足本研究的標(biāo)注需求、易用且操作體驗較好的Markup 在線標(biāo)注平臺(https://get?markup.com/)作為標(biāo)注工具。

      在標(biāo)注模式方面, 本研究使用命名實體識別領(lǐng)域常用的BIO 標(biāo)注法。BIO標(biāo)注法是CoNLL-2003采用的標(biāo)注法, 其中B 表示Begin, I 表示Inside,O表示Outside。以“Tom Hanks is My Name” 為例,Tom 的標(biāo)注即為B -PER, Hanks 的標(biāo)注即為IPER,其他3 個詞由于與所要提取的實體無關(guān), 因此皆標(biāo)注為O。將BIO 標(biāo)注法與上述標(biāo)注類型定義相結(jié)合共產(chǎn)生41 個標(biāo)簽, 如圖1 所示。其中, 應(yīng)用程序和插件分別對應(yīng)4 種提及類型, 即Applica?tion_Usage、Application_Mention、Application_Depo?sition、Application_Creation、PlugIn_Usage、PlugIn_Mention、PlugIn_Deposition 和PlugIn_Creation, 而操作系統(tǒng)和編程環(huán)境在實際情況中較少會出現(xiàn)沉積以及創(chuàng)造類型, 因而對其設(shè)定兩種提及類型, 即OperatingSystem_ Mention、OperatingSystem _ Usage、ProgrammingEnvironment_ Mention、ProgrammingEn?vironment_Usage。

      為節(jié)省標(biāo)注人力和標(biāo)注時間, 本研究設(shè)計了一種基于小型知識庫的程序輔助標(biāo)注方案, 如圖2 所示。需要說明的是, 該標(biāo)注方案中的知識庫概念并非目前學(xué)術(shù)界廣泛使用的知識庫概念, 而是采用了狹義的知識庫定義, 即一個知識合集[33],后續(xù)可隨著標(biāo)注語料的不斷擴(kuò)充對知識進(jìn)行增補(bǔ)。本研究首先對軟件實體識別領(lǐng)域的公開數(shù)據(jù)集以及前期相關(guān)實驗產(chǎn)生的數(shù)據(jù)集進(jìn)行收集, 并編寫程序?qū)σ褬?biāo)注的軟件實體及其相關(guān)信息進(jìn)行合并去重; 其次,將相應(yīng)實體與參考標(biāo)注類型進(jìn)行關(guān)聯(lián), 形成“詳例—類型” 列表, 并對其中的軟件實體進(jìn)行篩選生成“名稱—類型” 的標(biāo)注知識(如ViewPoint—Application_Usage)。對屬于多個類型的軟件實體進(jìn)行標(biāo)注時, 優(yōu)先考慮選擇標(biāo)注頻次最高的類型。經(jīng)過上述處理, 一共獲得865個消歧后的軟件實體名稱, 1 364個包含開發(fā)者等信息的標(biāo)注參考數(shù)據(jù)和621個聚焦于軟件“名稱—類型” 標(biāo)注參考數(shù)據(jù)。

      在標(biāo)注方案的主流程部分, 本研究首先使用自編Python程序?qū)⑺x的樣本庫與上述所建小型知識庫中的信息加以匹配, 同時生成待標(biāo)注文檔和標(biāo)注參考表格供后續(xù)使用,如圖2 所示。然后, 將待標(biāo)注文檔導(dǎo)入Markup在線標(biāo)注平臺, 并依據(jù)上一步驟得到的標(biāo)注參考表格對待標(biāo)注文檔進(jìn)行人工標(biāo)注。按此標(biāo)注流程對上述基于PLOS ONE期刊學(xué)術(shù)論文自建的樣本庫PLoSSo 進(jìn)行標(biāo)注, 共得到3634個實體。需要指出的是, 為控制標(biāo)注質(zhì)量, 先由一名擁有軟件標(biāo)注經(jīng)驗的老師擬定軟件實體標(biāo)注規(guī)范, 再由一名情報學(xué)專業(yè)三年級碩士研究生對語料進(jìn)行先后兩輪的標(biāo)注, 隨后由老師和碩士研究生對兩輪標(biāo)注結(jié)果中不一致的地方進(jìn)行討論決定一致標(biāo)注結(jié)果。最后, 將處理后的SoMeSci 標(biāo)注結(jié)果與PLoSSo 的標(biāo)注結(jié)果進(jìn)行合并, 形成最終實驗所用的黃金標(biāo)準(zhǔn)數(shù)據(jù)集。實驗數(shù)據(jù)集共包括6 773個實體, 各類別實體數(shù)量分布情況如表1 所示, 學(xué)術(shù)論文對應(yīng)用程序、插件、操作系統(tǒng)、編程環(huán)境4 種類型軟件的提及和使用存在明顯差別。應(yīng)用程序在學(xué)術(shù)論文中得到了更多的提及和使用, 兩個數(shù)據(jù)集共標(biāo)注“Ap?plication”類型的軟件實體2472個(占實體總數(shù)的36.50%),其中“Application_Usage” 類型實體個數(shù)最多(2 359個),“Application_Mention”類型實體個數(shù)次之(97 個), 而“Application_Creation”和“Application_Deposition” 類型實體則相對較少(共16 個)。較之應(yīng)用程序, 學(xué)術(shù)論文對其他三類軟件的提及和使用較少。其中, 編程環(huán)境類軟件實體有463個, 插件類軟件實體有428 個, 操作系統(tǒng)類軟件實體有81 個。編程環(huán)境和插件類軟件實體數(shù)量相當(dāng)可能是因為作者提及具體插件的同時通常也會提及其所在編程環(huán)境, 例如R 和“lme4”常在同一句話中出現(xiàn)。此外, 作者更傾向于提及軟件的版本(1 250個, 占比36.30%) 和開發(fā)者(888個,25.78%)信息,而較少提及其URL、發(fā)布等其他相關(guān)信息。

      2.3基于SciBERT-BiLSTM-CRF-wordMixup的軟件實體識別模型

      通過對已有軟件實體識別相關(guān)研究進(jìn)行調(diào)研發(fā)現(xiàn), 現(xiàn)有基于深度學(xué)習(xí)的軟件實體識別研究的實驗框架主要包括CRF、BiLSTM-CRF、BERT-CRF、Sci?BERT-CRF 4 種組合類型[9,11,14,27,34] , 涉及LSTM、CRF、BERT 3 種基礎(chǔ)模型。其中, LSTM 模型, 又稱長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory)模型,是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Net?works, RNN)模型。LSTM 模型在RNN 模型的基礎(chǔ)上加入遺忘門、輸入門以及輸出門來控制信息的遺忘、保存以及輸出[35] 。然而,單向的LSTM 模型只能考慮到先前的輸入信息對當(dāng)前內(nèi)容的影響, 但文本序列中, 一個詞語的出現(xiàn)可能與上下文信息都密切相關(guān)。因此, 為了包含下文信息的影響, 在網(wǎng)絡(luò)結(jié)構(gòu)中再加入一層LSTM 構(gòu)成雙向長短期記憶網(wǎng)絡(luò)(Bidirectional Long Short-Term Memory Network,BiLSTM)。BiLSTM 由負(fù)責(zé)從前往后掃描上文信息的向前LSTM 層和負(fù)責(zé)從后往前掃描下文信息的后向LSTM 層組成, 最后以向前LSTM 層與后向LSTM 層的輸出結(jié)合計算得到最終的輸出結(jié)果[36] ??紤]到本研究是基于詞的軟件實體自動識別, 在模型訓(xùn)練中需要同時考慮當(dāng)前詞的上下文信息, 因此, 本研究選擇BiLSTM 模型而非LSTM 模型, 以提高軟件實體識別的準(zhǔn)確性。CRF 模型, 又稱條件隨機(jī)場(Conditional Random Fields)模型, 是由Lafferty J D等[37] 于2001 年提出的一個通過建立概率模型獲取和標(biāo)記序列數(shù)據(jù)的模型, 其通過將所有特征進(jìn)行全局歸一化來得到全局最優(yōu)解, 能夠較好地解決標(biāo)記偏置等問題[37-38] 。雖然BiLSTM 能夠?qū)W習(xí)到當(dāng)前詞的上下文信息, 但不會考慮前后輸出結(jié)果之間的關(guān)系, 這可能導(dǎo)致預(yù)測錯誤。鑒于此, 一些學(xué)者在BiLSTM 的輸出層后再加入一層CRF 結(jié)構(gòu)(即BiL?STM-CRF模型)來獲取前后輸出結(jié)果之間的關(guān)系,以確保最終預(yù)測結(jié)果是有效的、符合邏輯的, 從而提高預(yù)測序列的準(zhǔn)確度[10] 。BERT 是由谷歌AI 團(tuán)隊于2018 年發(fā)布的以Transformer 雙向編碼器表示的一種新的語言表征模型, 該模型可以獲取語境化的詞向量, 在包括命名實體識別在內(nèi)的多項自然語言處理任務(wù)上表現(xiàn)優(yōu)異[39] 。近年來, 一些學(xué)者將BERT 與BiLSTM-CRF 相結(jié)合形成混合模型BERTBiLSTM-CRF 以提升命名實體識別性能[40-42] 。

      綜合考慮上述模型的優(yōu)缺點以及相關(guān)命名實體識別的實驗結(jié)果, 本研究選擇在命名實體識別任務(wù)上表現(xiàn)較好的BiLSTM-CRF 模型作為基線, 然后引入BERT 預(yù)訓(xùn)練語言模型。為了更好地對比模型識別效果, 分別進(jìn)行單獨的BERT 訓(xùn)練以及將BERT加入基線模型的BERT-BiLSTM-CRF模型訓(xùn)練。本文使用的BERT-BiLSTM-CRF 模型包括3 個模塊, 總體結(jié)構(gòu)如圖3所示。首先, 利用BERT 預(yù)訓(xùn)練語言模型將原始輸入文本轉(zhuǎn)換為相應(yīng)的詞向量;然后, 將得到的詞向量輸入到BiLSTM 中以進(jìn)一步提取輸入文本的上下文特征; 最后, 使用CRF模塊對BiLSTM 模塊的輸出結(jié)果進(jìn)行解碼并輸出具有最高概率的標(biāo)注序列。

      本研究在BERT-BiLSTM-CRF模型框架基礎(chǔ)上進(jìn)行優(yōu)化, 主要包括數(shù)據(jù)層面以及模型層面兩方面的優(yōu)化工作, 具體優(yōu)化設(shè)計如圖4 所示。本研究在數(shù)據(jù)層面分別使用BERT 和SciBERT 詞向量訓(xùn)練模型獲取模型輸入數(shù)據(jù)的特征表示, 再依據(jù)識別實驗結(jié)果擇優(yōu)選擇。之所以分別嘗試BERT 和SciB?ERT,是因為考慮到SciBERT是Beltagy I 等[43] 于2019 年提出的用于尋找與新冠肺炎相關(guān)文章的算法模型, 該模型是由醫(yī)學(xué)以及計算機(jī)科學(xué)領(lǐng)域共計114 萬篇學(xué)術(shù)文章預(yù)訓(xùn)練而來, 可能更適用于本研究的自然語言處理任務(wù)。

      考慮到本研究的訓(xùn)練數(shù)據(jù)規(guī)模較小, 神經(jīng)網(wǎng)絡(luò)模型在此情況下可能會出現(xiàn)過擬合的問題, 在數(shù)據(jù)層面引入R-Drop 以防止模型過擬合, 增強(qiáng)模型魯棒性和泛化性。R-Drop[44] 將Dropout兩次的想法應(yīng)用在有監(jiān)督文本分類任務(wù)上, 在常規(guī)交叉熵的基礎(chǔ)上加上一項強(qiáng)化模型魯棒性的正則項, 用以彌補(bǔ)Dropout帶來的訓(xùn)練模型以及測試模型的不一致性。結(jié)合R-Drop的模型如圖5 所示, 每個訓(xùn)練樣本會經(jīng)過兩次向前傳播, 從而得到兩次預(yù)測輸出。具體計算公式如式(1) ~(3) 所示:

      此外, 為解決數(shù)據(jù)匱乏的問題, 在模型層面引入Mixup[45] 進(jìn)行數(shù)據(jù)增強(qiáng)。之所以不選擇常用的EDA(Easy Data Augmentation)作為本研究的數(shù)據(jù)增強(qiáng)方法, 是因為EDA 包含的同義詞替換、隨機(jī)插入、隨機(jī)交換、隨機(jī)刪除4 種操作都有可能破壞命名實體的合法性, 從而使得數(shù)據(jù)集出現(xiàn)謬誤[46] , 這導(dǎo)致其不適用于命名實體識別任務(wù)。而Mixup 是從計算機(jī)視覺領(lǐng)域引入的一種數(shù)據(jù)增強(qiáng)方法。Guo HY 等[47] 將Mixup 引入到NLP 領(lǐng)域, 提出了將Mix?up 應(yīng)用于句子分類任務(wù)的兩種策略, 一種是基于句子的senMixup, 一種是基于詞的wordMixup。由于命名實體識別任務(wù)需要對每個單詞進(jìn)行分類, 本研究選擇基于詞的wordMixup。

      3實驗

      3.1實驗設(shè)定

      本研究以Google Research 團(tuán)隊開發(fā)的Colabo?ratory(https://colab.research.google.com/ , 簡稱Co?lab)為實驗環(huán)境。Colab 是一種托管式Jupyter 筆記本服務(wù), 用戶可以通過Colab 使用免費(fèi)的GPU 等計算資源, 減少了很多環(huán)境配置問題。本研究各項實驗均在Python 3.8.5 環(huán)境下編寫運(yùn)行。數(shù)據(jù)處理部分主要涉及Pandas、Numpy、Stanza 等軟件庫, 其中, Stanza ( v1.4.2, https://stanfordnlp. github. io/stanza/ installation_usage.html)是斯坦福大學(xué)自然語言處理組開發(fā)的一個純Python 版本的深度學(xué)習(xí)NLP 工具包, 被用來對本研究的學(xué)術(shù)論文文本數(shù)據(jù)進(jìn)行分詞處理。神經(jīng)網(wǎng)絡(luò)模型部分采用Facebook人工智能研究院開發(fā)的開源軟件庫PyTorch 框架實現(xiàn)。相較于被廣泛使用的Tensorflow 框架, PyTorch是更Python 化的框架, 具有內(nèi)置的動態(tài)DAG, 可以隨時定義、隨時更改、隨時執(zhí)行節(jié)點, 相當(dāng)靈活且易用性好, 還在代碼理解等方面表現(xiàn)優(yōu)異。

      本實驗中的BiLSTM 模型和BERT 模型的關(guān)鍵參數(shù)設(shè)置如表2 所示。其中, BiLSTM 模型的關(guān)鍵參數(shù)設(shè)置如下: 學(xué)習(xí)率(learning_rate)設(shè)為1e-4,詞向量維度(embedding_dim)設(shè)為100, 編碼層隱藏層大?。ǎ瑁椋洌洌澹睿撸洌椋恚┰O(shè)為256,單次訓(xùn)練樣本數(shù)(batch_size) 為64, 優(yōu)化器(optimizer) 為Adam,Dropout 比例設(shè)為0. 5, 訓(xùn)練迭代次數(shù)(epochs)設(shè)為1000。BERT 模型的關(guān)鍵參數(shù)設(shè)置如下: 學(xué)習(xí)率(learning_rate)設(shè)為4e-5, 預(yù)熱學(xué)習(xí)率(warmup_proportion)設(shè)為0.1, 單次訓(xùn)練樣本數(shù)(batch_size)為64,Dropout 比例設(shè)為0. 5, 訓(xùn)練迭代次數(shù)(ep?ochs)設(shè)為100。此外, 本實驗將數(shù)據(jù)集按照0.70∶0.15∶0.15的比例劃分為訓(xùn)練集、測試集和驗證集。進(jìn)行3次實驗, 最后?。?次實驗結(jié)果的均值作為最終的實驗結(jié)果。

      3.2實驗評估指標(biāo)

      本研究選擇通用的命名實體識別評價指標(biāo), 即準(zhǔn)確率P、召回率R 和調(diào)和平均數(shù)F1 值對模型的識別效果進(jìn)行評估。準(zhǔn)確率指標(biāo)用來評估模型識別結(jié)果的準(zhǔn)確程度, 召回率指標(biāo)用來評估模型將正例正確識別的能力, F1 值用來評估模型的綜合性能,是對模型準(zhǔn)確率和召回率進(jìn)行綜合評價的指標(biāo)。3個評價指標(biāo)的計算公式如式(4) ~(6) 所示:

      其中, T表示模型正確識別的實體數(shù)量, F表示模型識別錯誤的實體數(shù)量, F 表示模型沒有檢測到的相關(guān)實體的個數(shù)。

      3.3實驗結(jié)果分析

      軟件命名實體識別結(jié)果如表3 和表4 所示。表3列出了基線模型BiLSTM-CRF 在實驗數(shù)據(jù)集上的軟件實體識別結(jié)果。從表3 可以看出, BiLSTM-CRF模型的整體F1 值為74%, 略低于Schindler D 等[11]基于SoMeSci 數(shù)據(jù)集的F1 值(76%)。這可能與本研究的軟件類別細(xì)化程度更高有關(guān), Schindler D 等[11]的研究是對軟件整體進(jìn)行識別, 而本研究是對軟件各細(xì)分類別進(jìn)行識別。從表3 還可以看出, 不同標(biāo)簽的識別效果具有較大差別。例如, “Citation” 的F1 值最低, 僅有51%, 而“Version” 和“Program?mingEnvironment_Usage” 的F1 值高達(dá)81%。此外,通過實驗發(fā)現(xiàn), 樣本量很少的類別(如“Applica?tion_Creation” 等)容易出現(xiàn)無法識別出實體和結(jié)果較為振蕩的問題。

      表4顯示了基于多種模型的軟件實體識別結(jié)果。從表4 可以看出, 相較于基線模型BiLSTMCRF,單純使用BERT 預(yù)訓(xùn)練模型所得的模型準(zhǔn)確率偏低(74.2%), 但在召回率上得到了較大幅度的提升, 整體F1 值提升了3.4%, 這說明BERT 預(yù)訓(xùn)練語言模型比傳統(tǒng)的word2vec 能更好地表示訓(xùn)練語料詞匯的語義信息。將BERT 與BiLSTM-CRF 結(jié)合之后的模型BERT-BiLSTM-CRF 對軟件實體的識別效果比單獨使用BiLSTM-CRF 或BERT 有較大提升, 準(zhǔn)確率和召回率均達(dá)到了80%以上, 整體F1 值提升超過5%。而將SciBERT 預(yù)訓(xùn)練語言模型和R-Drop引入基線模型得到的SciBERT-BiLSTMCRF模型的識別性能獲得進(jìn)一步提高, 各項評價指標(biāo)均提升了1~2 個百分點, 說明在本研究的軟件實體識別任務(wù)中, SciBERT 和R-Drop 的結(jié)合使用能夠進(jìn)一步優(yōu)化識別效果。SciBERT-BiLSTMCRF模型引入wordMixup 后的改進(jìn)模型的識別性能得到進(jìn)一步提升, 改進(jìn)模型SciBERT-BiLSTM -CRF-wordMixup 的整體F1 值達(dá)到87.5%, 說明數(shù)據(jù)匱乏問題對軟件實體識別任務(wù)有較大影響, 在模型訓(xùn)練時有必要進(jìn)行數(shù)據(jù)增強(qiáng)處理。

      本研究將改進(jìn)模型SciBERT-BiLSTM-CRFwordMixup在測試集上的識別結(jié)果與人工標(biāo)注結(jié)果進(jìn)行對比分析發(fā)現(xiàn), 該模型在識別軟件實體方面還存在一些不足: ①召回結(jié)果存在偏差, 包括召回信息不完全和召回多余信息等情況。例如, 在“AllStatistical Analyses Were Conducted Using SPSS22. ”中, 該模型將“SPSS22” 識別為軟件實體, 但實際上“SPSS” 為軟件實體, “22” 為版本信息, 由于模型將“SPSS22” 整體識別為軟件實體, 導(dǎo)致識別結(jié)果中的軟件版本信息遺漏?;蛘?, 模型將“Frequencies and Percentages Were Calculated UsingMicrosoft Excel Version 14.6.8” 中的“ MicrosoftExcel” 識別為軟件實體, 但實際上該句中的“Ex?cel” 為軟件實體, “Microsoft” 為開發(fā)商信息, 模型錯誤地將軟件開發(fā)商信息也抽取進(jìn)軟件實體, 這會給后續(xù)的軟件實體消歧合并帶來困難; ②識別錯誤, 主要涉及將硬件、操作設(shè)備、研究方法等實體錯誤識別為軟件實體。例如, 模型將“For MultipleGroup Comparisons, We Used One-way ANOVA Fol?lowed by t Tests with Bonferroni Corrections” 中的“One-way ANOVA” 識別為軟件實體, 但實際上One-way ANOVA 是一種統(tǒng)計分析方法。針對上述發(fā)現(xiàn)的不足, 未來可以通過增加更多的標(biāo)注樣本和增加負(fù)反饋機(jī)制來提升識別效果。

      4結(jié)論

      本研究聚焦在科學(xué)研究中發(fā)揮著重要作用的軟件實體, 構(gòu)建了軟件黃金標(biāo)準(zhǔn)語料庫并提出改進(jìn)的軟件實體自動識別模型SciBERT-BiLSTM-CRFwordMixup。在黃金標(biāo)準(zhǔn)語料庫構(gòu)建部分, 本研究先對軟件實體、軟件使用類型實體、軟件相關(guān)信息實體加以細(xì)化定義, 并按照BIO標(biāo)注法生成41個實體標(biāo)簽, 接著設(shè)計一種基于小型知識庫的程序輔助標(biāo)注方案幫助人工快速標(biāo)注語料, 最終基于PLOSONE 期刊論文文本構(gòu)建出共包含6 773個實體的軟件黃金標(biāo)準(zhǔn)語料庫。該語料庫可以為后續(xù)軟件識別實驗所使用。在軟件實體識別模型優(yōu)化部分, 本研究將目前廣泛應(yīng)用于實體識別領(lǐng)域的BiLSTM-CRF模型作為基線模型, 測試其在本研究語料庫上的識別效果。接著對BiLSTM-CRF 基線模型加以優(yōu)化改進(jìn), 分別引入目前通用命名實體識別領(lǐng)域流行的BERT 模型和針對科學(xué)論文文本訓(xùn)練出的SciBERT模型來代替Word2vec 作為詞向量訓(xùn)練模型。然后,在數(shù)據(jù)層面引入R-Drop 以增強(qiáng)模型的魯棒性和泛化性, 在模型層面引入Mixup 進(jìn)行數(shù)據(jù)增強(qiáng)。實驗結(jié)果表明, 在BiLSTM-CRF、BERT、BERT-BiL?STM-CRF、SciBERT-BiLSTM-CRF 和SciBERT -BiLSTM- CRF- wordMixu 5種模型中, SciBERT -BiLSTM-CRF-wordMixu模型在本研究語料庫上的識別表現(xiàn)最好, 其整體F1 值達(dá)到87.5%。這說明,本研究提出的改進(jìn)模型SciBERT-BiLSTM-CRF-wordMixup 能夠有效地從學(xué)術(shù)論文文本中識別出軟件及其相關(guān)信息實體。

      本研究還存在一些不足之處。首先, 本研究僅以PLOS ONE 期刊論文作為實驗語料數(shù)據(jù), 數(shù)據(jù)集較小, 未來研究將擴(kuò)大數(shù)據(jù)集并在PLOS ONE 期刊論文以外的數(shù)據(jù)集上開展軟件實體識別, 以提升模型的泛化能力; 其次, 本研究提出的改進(jìn)模型的軟件實體識別性能尚有提升空間, 未來將考慮在改進(jìn)模型中引入注意力機(jī)制來提高模型的軟件實體識別性能。

      绥江县| 罗江县| 承德县| 衢州市| 沁阳市| 金昌市| 托克托县| 阳春市| 通辽市| 通榆县| 余姚市| 团风县| 五峰| 莱西市| 伊川县| 香格里拉县| 五原县| 瑞丽市| 苍溪县| 海丰县| 正镶白旗| 巧家县| 泰安市| 宜都市| 金阳县| 会同县| 丹巴县| 丰顺县| 兴山县| 呼图壁县| 黑水县| 通榆县| 台南市| 宜宾市| 象山县| 峨眉山市| 南安市| 西和县| 农安县| 和平县| 灌阳县|