羅麗錦,高 屹,2,陳頌斌,樊 淼
(1.西藏民族大學,陜西 咸陽 712082;2.西藏光信息處理與可視化技術重點實驗室,陜西 咸陽 712082)
大數據技術創新的不斷提升以及我國對知識產權意識的不斷加強,為文本分類帶來了很多便利條件,但文本分類仍然面臨著以下挑戰:①具有高質量核心技術的知識產權數量沒有隨著知識產權數量的增加而增加;②目前沒有按知識產權重要程度的權重對有限的資源進行分配;③研發創新大多圍繞學術研究和研究項目展開,導致知識產權容易與市場需求脫節,產業轉型效率低下[1].
2023年4月26日,國家主席習近平在主題為“加強知識產權法治保障有力支持全面創新”中指出,中國始終高度重視知識產權保護,愿進一步深化同世界知識產權組織的友好合作[2].有效應對專利文本分類效率,能夠保護知識產權.需求者可通過文本分類技術快速匹配到相似專利,這樣既能減少需求者在大量專利數據上的檢索時間,又能有效預防知識產權重復,從而達到避免侵犯知識產權的效果.
IPC是國際通用的專利管理系統,它主要對單一的技術主題進行分類,所以IPC存在無法直接反映某一技術領域的發展趨勢、狀況以及某些細分領域的分析不夠細致等缺陷[3].引入深度學習技術能夠有效提升文本分類效率,減少傳統分類帶來的錯誤率,對專利文本自動分類具有重要意義.
本文研究的核心點是基于SimBERT進行改良的文本分類模型.SimBERT是由Google提出的對BERT模型進行改進之后的模型,它主要用于提升中文文本分類和匹配任務的性能.由于SimBERT擁有Transformer的編碼器結構,所以它能夠充分理解文本的上下文語義.SimBERT采用預訓練加微調的方式進行模型訓練,增強了中文文本分類和匹配任務的效果.SimBERT模型可以通過增加層級或擴增預訓練數據來進一步提高分類性能.
文本分類是人工智能領域重要的任務之一,它隨著人工智能領域相關技術的快速發展而發展,通過融入機器學習和監督學習等新方法,來提高文本分類的創新力和效率.這些新方法也能應用在專利文本分類領域,為專利的審閱、檢索和數據分析等提供技術支持.
國內的專利文本分類研究現狀大致分為兩種,即中國國家知識產權局在文本分類領域里的研究、國內高校和研究機構在該方面的研究.美國是專利領域的主要創新來源者,它的大多數公司和專利機構通過機器學習和自然語言處理等方法來處理專利文本分類.歐洲等國家也有大量研究人員對該領域進行了研究,并取得顯著成果.
梅俠峰等提出將RoBERTa和多尺度語義協同融合在一起的專利文本分類模型,該模型在部級上的準確率達到了88.9%,在大類級別上該模型達到了82.6%的準確率[4].慎金花等人將平面模型與層次模型做對比,得出在大類層次上Rocchio模型分類效果最好,準確率為96.3%,在小類層次上,層次KNN模型的分類效果最好,準確率為95.59%;在大組層次上層次支持向量機和層次KNN模型的分類效果最好,準確率為93.8%[5].楊超宇等人對SVM進行改進,提出的TF-IDF-LDA-SVM模型的準確率為98.51%[6].劉燕提出了BERT-BIGRU中文專利文本分類模型,對8類專利文本進行分類,其準確率達到了85.44%[7].余本功等人應用兩種特征通道訓練WPOS-GRU模型,其準確率達到了97.4%[8].Ran Li等人結合詞匯網絡方法的BERT、詞匯網絡方法結合CNN和LSTM進行對比實驗,得出詞匯特征提取方法能夠提升模型訓練的收斂速度,其準確率為82.73%[9].Milan Miric等人應用監督的ML方法將文本數據自動分類到已定義好的類別或組中,并以ML方法在AI專利上的應用為例,將該方法與其他分類方法模型做對比,其準確率最高為96%[10].
SimBERT是基于檢索、生成于一體的預訓練語言模型.采用BERT結構,并利用大規模語料庫進行預訓練,是為NLP任務提供更加準確和有效的文本表示.與傳統的詞向量(如one-hot)相比,SimBERT能夠結合上下文語義信息,對文本的理解會更加準確,也能通過已知的知識來判斷輸入文本之間的相似性,提高了預測速度并且準確度高[11].與BERT模型相比,SimBERT在中文文本分類任務中能提供更好的性能.與ALBERT相比,SimBERT參數更少,模型更輕量化,可提供更準確的中文文本表示,也具備詞匯級別的語義理解能力.
2.1.1 預訓練模型的訓練方式
在了解SimBERT之前,先了解一下預訓練模型的三種訓練方式.第一種是輸入模型時隨機mask一個或多個token,再通過上下文信息來預測這個被mask的token,它在做自然語言理解(NLU)任務時效果更好,但在生成式問題上效果較差.第二種是通過前面或后面出現的所有token來預測當前要預測的token,它在做生成類任務時效果更好,但該方法不能用上下文信息來做預測.第三種是通過編碼解碼操作將輸入的句子轉化成文本序列.
2.1.2 UniLM
UniLM是一種用于解決NLP任務的統一語言模型,對于上文提到的預訓練模型的三種訓練方式,UniLM都適用,它的目的是通過統一的語言模型來訓練不同架構任務,其核心是通過特殊的注意力掩碼使模型擁有序列到序列模型的能力.它通過在句子的開頭添加[SOS],在句子的結尾添加[EOS]符號來得到句子的特征向量.比如輸入這樣一個文本“去哪個城市”,回答的句子是“咸陽”,我們稱之為目標句子.UniLM把這兩個句子拼接成序列“[CLS]去哪個城市[SEP]咸陽[SEP]”,它的注意力掩碼為圖1所示.

圖1 UniLM注意力掩碼圖圖2 Sep2Sep模型
輸入的序列“[CLS]去哪個城市”是雙向的Attention,輸出的序列“咸陽[SEP]”是單向的Attention,它支持遞歸的預測序列“咸陽[SEP]”,因此它擁有文本生成的能力,即Seq2Seq能力,其模型如圖2所示.
由于UniLM擁有特別的注意力掩碼,使得“[CLS]去哪個城市[SEP]”這個序列只在彼此之間互相Attention,和序列“咸陽[SEP]”沒有任何關系,即無論序列“[CLS]去哪個城市[SEP]”后面是否拼接了序列“咸陽[SEP]”都不會影響到前面7個token.總之,在向UniLM輸入內容的時候會隨機mask部分token,這樣輸入部分就可用于MLM任務,增強了NLU能力,輸出部分就可以用于Seq2Seq任務,增強了NLG能力.
2.1.3 SimBERT
SimBERT運用有監督訓練方法,可以通過收集到的中文相似句對做語義相似度計算任務,采用兩個BERT編碼器對兩個句子進行編碼表示,然后再運用漢明距離或余弦相似度等方法計算它們之間的相似度來得分,也能通過構建Seq2Seq模型來進行相似句生成任務.其構建方式可以分為編碼器和解碼器兩個部分.編碼器將輸入句子編碼為固定長度的向量表示,解碼器用該向量表示來生成和輸入句子相似的另一個句子.用輸入的句向量來訓練檢索任務,如圖3所示.比如“華山北峰海拔1 614米”和“華山高1 614米”是一組相似句對,在相同批次中,將“[CLS]華山北峰海拔1 614米[SEP]華山高1 614米”和“[CLS]華山高1 614米[SEP]華山北峰海拔1 614米”全部加入模型進行訓練,就能生成一個相似句.從數學角度來看,就是把所有批次內輸入的句向量組成句向量矩陣C.矩陣C的形狀如下:(a,X,b)=(batch_size,sequence_length,hidden_size).對每個輸入的句向量,在b維度上進行L2歸一化,將歸一化后的[CLS]向量按照batch的維度進行堆疊,得到一個a*b的句向量矩陣C.通過點乘的方式計算句向量矩陣的相似度矩陣,得到一個a*C的相似度矩陣CC^T.將相似度矩陣乘以一個縮放系數,然后對對角線進行掩碼處理,將其設為一個較大的負數.最后對每一行進行softmax操作,得到一個分類任務的目標標簽.在訓練過程中,可以為每個樣本選擇一個相似的句子作為目標標簽,并根據目標標簽進行分類任務的訓練.

圖3 訓練檢索任務
通道注意力機制(Channel Attention Mechanism)是一種用于計算特征圖通道之間相關性的注意力機制,是在一個特征圖中,不同通道的響應對于不同任務會有不同的重要性.通道注意力機制通過計算每個通道的重要性,來讓模型更加關注那些重要的通道.這種方法能夠消除噪聲,增強特征表達,并提高模型的準確率和魯棒性.

其中,表示sigmoid的函數為W0∈RC/r×C,W1∈RC×C/r.需要注意,MLP的權重W0和W1為兩個輸入所共享,ReLU激活函數在W0之后.通過給每個通道都賦予不同的重要性,模型就能更加準確地對不同通道的特征進行處理,從而提高模型的性能.其結構如圖4所示[12].

圖4 通道注意力機制

圖5 SimBERT-CAM-CL的模型結構圖
卷積層是深度學習中卷積神經網絡的重要層類型,主要用于處理一個規則的二維或多維網格(或格子)上組織的數據,比如地理信息系統中的柵格數據以及圖像數據等.卷積層的主要功能是運用一組可學習的濾波器(亦可稱為卷積核),對輸入的數據進行卷積操作,提取網格結構數據的局部信息[13].
SimBERT結合通道注意力機制和卷積神經網絡層,可以在原有的模型基礎上進一步增強特征表達,提升模型性能.
融入通道注意力機制可以給不同通道進行重要性加權,以提升模型對某些重要特征的關注度來達到優化輸入embedding向量的效果.比如對數據集中“制劑”“五味子”等關鍵詞,采用通道注意力機制來提高它們對模型學習文本語義的影響力.
首先,將收集到的文本數據進行數據清洗和文本預處理等操作,然后將數據集劃分為測試集和訓練集,將訓練集數據送入SimBERT中進行編碼,得到768維的embedding向量為原始embedding向量.通過融入通道注意力機制給embedding向量賦予通道權重,得到通道權重向量(先將維度從768維降低到12維,即64倍降低,然后再將維度提升回768維).把每個通道的權重相乘,再將結果與原始的embedding向量相加,得到一個加權的embedding向量.然后,再將維度提升回768維,將優化后的向量輸入到32×768×1的卷積神經網絡層中,利用多個卷積核提取藏醫藥文本數據中摘要的特征信息,得到32×512×1的向量表示(kernel_size參數值設為3).接著,將卷積神經網絡層的輸出結果進行Max pooling,將序列長度減少,得到一個固定維度為32×171×1的向量,然后把這個向量輸入到全連接層,最后傳遞到Softmax函數,以IPC主分類號的“部”和“大類”為分類依據,得到最終的分類結果.
本實驗是在Windows11系統上完成的,GPU為GTX3090,處理器為Westmere E56xx/L56xx/X56xx,使用Python3.7.13的編程環境,并在Pytorch1.7.1深度學習框架上搭建模型.更多實驗環境如表1所示.

表1 實驗環境
為了對參數進行更新,利用Adam優化器,定義了激活函數ReLU,用交叉熵損失函數來對模型進行訓練.實驗時選擇合適的初始學習率是訓練神經網絡的重要因素之一.太小的學習率會導致模型收斂速度較慢,需要更多的迭代次數才能達到較好的性能;而太大的學習率可能導致模型在訓練過程中震蕩或發散.向量維度選擇768維,較高的維度雖然可能導致計算變得復雜,但也能使特征表達變得更加豐富,其詳細信息如表2所示.

表2 參數信息
為了模型訓練和評估,將預處理后的數據按照8∶2劃分成訓練集和測試集.這樣可以確保模型在訓練過程中學習到足夠的信息,并且在測試集上進行評估時能夠準確地反映出模型的性能.
由于藏醫藥專利數據集的缺失,本實驗采用自建數據集,而專利數據可以通過曾在歐洲專利局和知網中公開的數據進行收集得到,通過對關鍵字“藏醫”“藏藥”等的檢索進行搜集,確保了自建數據集的合理性和可靠性.通過Python爬蟲技術爬取歐洲專利局中與藏醫藥相關的專利數據5 621條,其中包含專利號、專利名稱、摘要、分類號和所屬部類5列字段數據[14].
由于此數據集為自行構建,所以存在大量的數據清洗工作,如摘要的數據噪聲、所屬部類數據少于20條等.此處通過正則表達式、條件篩選等方法對數據進行清洗,以便提高特征提取部分的效率,將處理后的數據根據不同所屬部類進行隨機抽取,按照8∶2劃分訓練集4 389條數據和測試集1 103條數據.本實驗將IPC分類法中的“部”和“大類”作為樣本的分類,樣本在IPC分類法中的類別分布情況如表3所示.

表3 專利數據詳情

表4 Confusion Matrix
將訓練集數據輸入到SimBERT預訓練的語言模型中進行編碼.這個過程將文本轉化為向量表示,得到原始embedding向量,這些原始嵌入向量包含了文本的語義信息.
為了進一步優化這些嵌入向量,引入了通道注意力機制.這個機制為每個通道(或者說每個語義維度)賦予了權重,以反映其在分類任務中的重要性.把每個通道的權重相乘,再把結果與原始的嵌入向量相加,得到一個加權的嵌入向量.這個加權的嵌入向量在保留了原始語義信息的同時,更加關注與分類任務相關的特征.
接下來,將優化后的向量輸入到卷積神經網絡層中.卷積神經網絡利用多個卷積核來提取藏醫藥文本數據中摘要的特征信息.每個卷積核都可以捕捉不同尺度和模式的特征,從而豐富了模型對文本的理解能力.
卷積神經網絡層的輸出結果經過Max pooling操作,將序列長度減少,得到一個固定維度的向量.這個向量包含了摘要中最重要的特征信息,為后續的分類任務提供了有用的輸入.
最后,將這個向量輸入到全連接層,并通過Softmax函數得到分類結果.全連接層進一步處理特征向量,把它映射到各個分類類別上,并輸出對應的概率分布.Softmax函數將這些概率進行歸一化,使其總和為1,從而得到最終的分類結果.
在訓練模型時,選擇Adam優化器來對模型的訓練進行優化.Adam優化器結合了梯度的一階矩估計和二階矩估計,能夠自適應地調整學習率,提高了模型的訓練效果.為了衡量觀測值和預測值之間的差異,采用交叉熵損失函數作為模型的目標函數.交叉熵損失函數在多分類問題中廣泛應用,能夠有效地衡量模型的預測準確度,并促使模型向更好的方向優化.
在訓練過程中,采用批量梯度下降的方法進行參數更新.批量梯度下降將訓練集劃分為多個批次,每個批次包含多個樣本.通過計算每個批次的損失函數梯度,并根據該梯度對參數進行更新,這樣可以有效地優化模型并提高訓練效率.
通過以上的步驟和方法,能夠對藏醫藥專利文本進行全面的處理和分析,從而可建立一個高效準確的分類模型.
在模型運行完或輸出后,要用評估指標對模型的效果進行評估.分類模型中有幾個常用的模型指標,分別是Recall、Precision、F1、ROC、AUC.Recall為召回率,Precision為精確率,F1為結合了召回和精確的調和平均,ROC代表整個分類模型的好壞,AUC為計算ROC下的面積.
根據表1,計算各指標的公式如下:
(2)
(3)
(4)
(5)
(6)
(7)
為驗證本文提出的SimBERT-CAM-CL模型的有效性,將此模型與其他文本分類模型進行對比,對藏醫藥專利的部和大類一起進行分類實驗.對比模型如下:
1) BERT:由多個Transformer編碼器層組成,其中Transformer是一種基于自注意力機制的神經網絡架構.有12個編碼器層,每個編碼器層具有12個自注意力頭,隱藏層有768個隱藏單元.采用WordPiece嵌入將文本標記成小的詞塊(subwords),然后將這些詞塊嵌入到768維的向量表示中[15].
2) ALBERT:采用層級參數共享和參數分解的方法,它具有12個隱藏層,隱藏層有768個隱藏單元,具有12個自注意力頭.采用WordPiece嵌入將文本標記成小的詞塊(subwords),然后將這些詞塊嵌入到768維的向量表示中[16].
3) Chinese-Word-Vectors:用本文模型進行訓練,分詞工具使用Chinese-Word-Vectors,窗口大小設置為5的動態窗口,子采樣1e-5,低頻詞閾值為0,迭代次數為5[17].
4) SimBERT:采用原始SimBERT模型進行訓練,即BERT+UniLM+對比學習,將文本特征轉化為768維向量.
將本實驗處理好的數據集放入不同模型進行訓練,分別得到BERT(見圖6)、ALBERT(見圖7)、Chinese-Word-Vectors(見圖8)、SimBERT(見圖9)以及SimBERT-CAM-CL(見圖10)模型的準確率如表5所示.

表5 各模型準確率

圖6 BERT模型準確率圖7 ALBERT模型準確率

圖8 Chinese-Word-Vector模型準確率圖9 SimBERT模型準確率

圖10 SimBERT-CAM-CL模型準確率
通過上述參數對比可以看出,本文提出的SimBERT-CAM-CL模型比BERT、ALBERT、Chinese-Word-Vectors、SimBERT模型準確率在訓練集和測試集上都有提升,表明本文模型是有效的.
實驗結果顯示,SimBERT-CAM-CL在準確率上取得了顯著提升.同時,該模型還能夠通過優化模型結構和參數設置,降低模型復雜度,但是,本實驗的數據集是專門針對藏醫藥領域的.由于這一特殊性,大部分數據集都被分類到部A中,因此實驗主要集中在大類別的分類任務上,這就限制了模型的廣泛適應性和泛化能力.
此外,由于藏醫藥專利研究相對較少,本實驗只能獲取到5 000多條相關數據,相較于其他研究運用的數據量可能超過上萬條的情況,本實驗結果可能存在一定的局限性.為了增加數據集的豐富性和實驗的可靠性,未來的研究可以在學術論文、專利文件、公開數據庫等平臺上尋找和收集更多與藏醫藥相關的數據.這將有助于擴大數據的規模和多樣性,提高實驗結果的泛化能力.