鄧遠飛, 李加偉, 蔣運承, 2
(1. 華南師范大學計算機學院,廣東 廣州 510631;2. 華南師范大學人工智能學院,廣東 佛山 528225)
專利是知識產權的一種形式,對于管理信息和知識、研發活動以及減少研究周期和費用都有幫助[1-2]。專利的申請數量每年都在持續增長,需要高效的系統來管理如此龐大的數據。現有研究提供了許多方法來解決這個問題,如有效處理、分析、分類和存儲專利數據的方法[3-4]。
最近幾十年來,專利法和專利技術的創新實證研究受益于質量越來越高的專利數據集,這些數據集在國家、企業、團隊和個人層面都被廣泛應用。專利數據有多種用途,如作為知識輸入的代理或專利價值的度量,也被用作創新代理的度量。由于專利數據量龐大,因此需要大量的人力成本來研究和搜索專利。目前,專利管理和搜索的方式主要是基于傳統的數據庫,即技術人員需要識別目標的關鍵字并進行搜索,然后從數據庫中檢索專利[5]。因此,為了有效地對專利文本進行語義相似度計算,需要設計一種準確的專利語義表示方法。
USPTO(United States Patent and Trademark Office)數據在專利分析、經濟學、起訴和訴訟工具等領域頻繁使用。大多研究中使用的專利分類系統是參照國際專利分類法(IPC)和聯合專利分類(CPC)所建立的。目前,針對USPTO數據的專利相似度計算及檢索相關研究,僅利用自然語言處理相關技術來實現[6]。
隨著預訓練語言模型(PLM)的不斷發展,BERT[7]等具有動態語義表征能力的模板逐漸成為文本表示領域的通用模型,使得解決下游任務的策略從重新訓練模型轉變為根據任務調整其參數。然而,在預訓練和微調的過程中,不同階段的優化目標不同。于是,起源于生成式預訓練Transformer(GPT)[8]并由模式探索訓練(PET)[9]等發展而來的“提示學習”[10]新范式應運而生。值得注意的是,已有很多工作嘗試將外部知識融入以BERT為代表的預訓練語言模型中,但主要集中在常識領域知識[11]和開放領域知識[12]。清華大學曾通過外部知識圖譜擴展標簽映射的方法,即知識集成的提示調優(KPT)[13],在關系抽取、文本分類等任務中取得了較大的性能提升。此外,文獻[14]研究表明,并不是所有的外部知識都能帶來增益。目前,該領域主要面臨2個挑戰:1)如何有效地植入外部知識,解決專利短語信息不足的問題?2)如何充分利用專利短語中的標簽信息,解決知識噪聲和異構性問題?如果這些技術被有效地應用于專利檢索、專利分類等任務,專利推薦、自動專利質量預測等應用在未來甚至可以實現。
針對專利短語相似度語義匹配問題,本文首先提出基于知識注入的提示學習方法并應用到專利短語相似度計算中;其次引入外部知識圖譜Wikidata,提出基于實體影響度的鄰域過濾機制,獲取相關實體的鄰域特征信息,通過外部信息源擴充標簽與專利短語信息,提高分類準確度同時解決專利短語信息不足的問題;接著應用交叉熵損失函數來訓練所提模型,將擴展標簽詞的分數映射到標簽分數上。此外,本文設計一種有效的提示生成文本,并驗證其在現有數據集上的有效性。
近年來,許多機器學習技術已應用于專利相關研究,主要集中在專利檢索、專利分類和相似度計算中,提高了專利分析工作的效率[2]。文獻[6]提出一種兩階段專利檢索方法,通過考慮權利要求的結構,將檢索到的文檔重新排序,取前N個文檔,這意味著權利要求在專利中具有重要意義。隨后,文獻[15]通過使用USPTO專利數據,利用一種引文分析方法來改進專利檢索技術。文獻[16]提出一種基于聚類的專利檢索技術,通過使用IPC代碼提供額外的數據,滿足用戶的信息需求。
另一方面,盡管專利具有半結構化的性質,但是大多數現有的關于專利分類的研究工作都側重于文本信息。如今,深度學習方法(如卷積神經網絡)在圖像處理、語音識別等領域取得了巨大進展,但尚未應用于專利分類任務。文獻[17]提出了一種基于卷積神經網絡和詞向量嵌入的深度學習算法DeepPatent并用于專利分類。PatentBERT專注于微調預先訓練的 BERT 模型,該模型僅使用專利的第一項權利要求,并在CPC子類級別的656個標簽上取得了顯著的成果。Patent2Vec[18]在專利分類工作中使用標簽的文檔學習專利的低維表示,從多視圖的角度執行專利分類任務。
經過微調的PLM[19]在各種自然語言處理任務中取得了巨大的成功。PLM可學習關于語言的語法[20]、語義[21]和結構[22]信息,在智能問答[23]、文本分類[24]和機器翻譯[25]等領域廣泛應用。然而,PLM仍然阻礙下游任務對預訓練知識的充分利用。為此,受GPT-3[26]的啟發,提示學習方法應運而生,其將下游任務轉換為一些形式化目標并取得了優異的性能[17]。
提示學習[27-28]是最近出現的模型訓練方法,最初由人工設計模板。文獻[29]提出的PET借助自然語言構成的模板,使用BERT的掩碼語言模型來進行預測。但是,PET方法的局限性在于需要人工選擇模板,而且PET的準確率嚴重依賴模板的質量。文獻[30]提出前綴調優(Prefix-tuning),其放棄模板由自然語言構成這一常規要求,使用連續空間內的向量作為模板。GPT-3、 ChatGPT[26]相關研究表明,通過快提示調優和上下文學習,大規模語言模型可以在低數據狀態下實現優異的性能。P-tuning[31]利用可訓練的向量來自動構建提示文本模板,重點解決提示調優在小模型上效果不佳的問題。手工定義或自動搜索得到的標簽詞映射有主觀性強、覆蓋面小等缺點,KPT[12]通過外部知識庫擴展描述器的提示調優,用于提高文本分類的準確率。同時,KPT也為在提示學習下引入外部知識提供了參考。
本文使用的專利短語相似度語義匹配數據集(PPSD)是一個人類專家評級的CPC上下文專利技術短語(術語)到短語匹配數據集。表1所示為專利短語相似度匹配數據集的一個示例,完整的數據集可以通過 Kaggle(https:∥www.kaggle.com/datasets/google/google-patent-phrase-similarity-dataset)公開獲取。

表1 專利短語相似度語義匹配數據示例Table 1 Example of semantic matching data for patent phrases similarity
專利短語相似度語義匹配數據集包含近 50 000 個評級短語對,每個短語對都有一個 CPC 類作為上下文,分為訓練集 (75%)、驗證集 (5%) 和測試集 (20%)。數據集中存在成對的專利短語 (Anchor和Target),并對它們的相似度進行評分,分數從0(完全不相似) 到1(意思相同)。在數據集中,相似度(Score)表示2個專利短語(Anchor和Target) 在上下文(Context)中的相似度,其值在0~1范圍內,增量為 0.25。本文使用第4.2節的方法得到最終的擴展標簽詞,如表2所示,具體描述如下:

表2 擴展標簽詞示例Table 2 Examples of extended label words
1)錨短語(Anchor):第1個專利短語。
2)目標短語(Target):第2個專利短語。
3)CPC分類(Context):上下文 CPC 分類,指出進行相似度評分的專利短語的主題分類。
4)相似度等級(Rating):相似度等級標簽,來自一個或多個手工專家評級的組合。
5)相似度(Score):相似度評分,來自一個或多個手工專家評級的組合。
本文使用余弦距離來計算2個專利短語的相似度,然后計算其與人工評分之間的相關系數結果,包括Pearson 相關系數(PCC)和Spearman相關系數(SRC)。
提示調優通過自動編碼器調整將分類任務形式化為一個掩碼語言模型(MLM)問題。提示調優可用于文本分類任務,構建一個含有[MASK]的模板,然后讓掩碼語言模型去預測[MASK]位置的單詞。因此,文本分類任務被轉化為一個掩碼語言建模問題。
假設M是一個在大規模語料庫上預訓練的語言模型。在文本分類任務中,輸入序列x=(x0,x1,…,xn)被分類為類別標簽y∈Y。具體來說,提示調優用模板包裝輸入序列,而模板是一段自然語言文本。例如,本文將x=“The similarity between patent ′faucet assembly′ and patent ′tap inputs′.”分類為“not related”(相似度標記為0)或 “exact”(相似度標記為1),可以封裝成:
xp=[CLS]xis [MASK]
(1)
在專利短語相似度匹配任務中,本文使用xA=WordAnchor表示原始專利短語(Anchor),使用xT=WordTarget表示目標專利短語(Target),則xA和xT可劃分到一個相同相似度等級的分類標簽y∈Y中。由表1可以看出,在專利短語數據集中,相似度是一個離散值。因此,本文將專利短語相似度計算問題轉化成專利短語分類問題來解決。使用xA和xT替代x,則式(1)可以轉換成:
xp=[CLS]xAandxTis [MASK]
(2)
接著,預訓練的語言模型M給出了詞匯表中每個單詞v被[MASK]詞元(token)的概率,即PM([MASK]=v∈Vyxp)。在提示學習中,本文需要一個標簽詞映射(verbalizer),將[MASK]位置上對于詞表中詞匯的預測轉化成分類標簽。例如在{0: “not related”, 1: “exact”}這個映射下,預訓練模型在[MASK]位置,對于“not related”或“exact”這個相似度程度標簽詞的預測概率值會被當成是對“0”或“1”這個標簽的預測值。標簽詞映射器首先要定義詞表中哪些詞是合適[MASK]詞元位置的標簽詞,其次要定義標簽詞概率如何轉化為最終的類別概率。

P(y∈Y|xp)=
f(PM([MASK]=v∈Vy|xp))
(3)
其中:f是一個函數,其將標簽詞的概率值轉化為標簽的概率值。
在上面的例子中,常規提示調優可以定義V1= {“exact”},V2= {“not related”},f為恒等函數,如果“exact”的概率大于“not related”,則本文將這個實例劃分為“exact”標簽。
提示學習的本質是設計一個比較契合上游預訓練任務的模板,通過增加提示模板,將訓練數據轉成自然語言的形式,并在合適的位置 MASK。提示學習主要包括設計預訓練語言模型、設計輸入模板樣式和設計標簽樣式及模型輸出映射到標簽(label)的方式3個步驟。本文提出知識注入的提示學習方法,利用外部知識來提高提示調優的語言表達能力,其模型框架如圖1所示, 在本文方法中,通過擴展標簽詞及輸入專利短語,達到注入外部知識的目的。

圖1 本文模型框架Fig.1 The framework of the model in this paper
基于上下文的掩碼詞預測過程并不是一對一的選擇過程。因此,標簽詞映射中的標簽詞應該具備2個屬性,即廣泛的覆蓋范圍和較低的主觀偏見。為此,本文使用外部知識來構建標簽詞映射,即通過Wikidata(https:∥www.wikidata.org)獲取相關實體的信息。
對于每個專利短語中的實體,本文首先使用專利短語或者標簽詞稱作為查詢關鍵詞,通過Wikidata獲取相關實體的信息;然后使用相似度算法對專利短語和Wikidata實體進行匹配,以確定它們之間的關系;最后根據匹配結果將專利短語中的實體鏈接到Wikidata知識圖譜中的相應實體上,實現實體的語義統一。


(4)
如果將專利短語實體的所有一階鄰居作為知識注入的提示學習模板,則工作量巨大。然而,僅針對相似度值進行過濾,則容易丟失專利短語實體間的潛在關系。因此,本文利用鄰居實體的影響度對專利短語的鄰域信息過濾進行干預篩選,得到其鄰域信息,并作為知識注入模板的標簽詞:

(5)
其中:Dxk為實體節點xk的度;Φ(·)為鄰域節點的篩選函數。本文取鄰居相似度值與鄰居節點度的乘積的前m個最大值 (為了避免由于引入高階鄰居而帶來的噪聲影響,同時簡化計算,設m=1)。
如圖1所示,以提示生成的輸入文本“[CLS] The similarity is exact between cocoa beans and free fatty acid in B01 [SEP] Coffee_bean Biochemistry”為例,目的是將專利短語對“cocoa beans” 和 “free fatty acid”歸類到“exact”標簽(即相似度為1)。對于專利短語“cocoa beans”,首先找到它的Wikidata實體“Cocoa_bean”;然后通過Wikidata實體間的關系構建其對應的一階鄰居圖;接著采用node2vec圖嵌入算法分別計算其與一階鄰居的相似度,如“Cocoa_bean”與一階鄰居“Coffee_bean”的相似度為0.72;隨后逐個計算“Cocoa_bean”一階鄰居的度(“Coffee_bean” 一階鄰居的度為78);最后分別計算“Cocoa_bean”的一階鄰居相似度值與鄰居節點度的乘積,將其降序排序,找出前m個最大的一階鄰居(設m=1,即獲取到最終的外部知識圖譜Wikidata中的實體“Coffee_bean”)。標簽詞“exact”與另一個專利短語“free fatty acid”也使用上述方法獲取。
本文構造有遮蔽的提示文本,其中,xA和xT表示專利短語,rA和rT分別為專利短語xA和xT的相關詞,Context為CPC分類,[MASK]為預測的分類,[CLS]和[SEP]為預訓練模型中的分隔符。考慮到不同提示生成的文本對最終結果的影響不同,本文構造如下T1~T7提示生成的輸入文本:
T1=[CLS][MASK][SEP]xA[SEP]xT
T2=[CLS] The similarity is [MASK] betweenxAandxT
T3=[CLS] The similarity is [MASK] betweenxAandxTin Context
T4=[CLS] The similarity is [MASK] betweenxAandxT[SEP]rArT
T5=[CLS] The similarity is [MASK] betweenxAandxTin Context [SEP]rArT
T6=[CLS] The similarity is [MASK] betweenxAandxT[SEP]rArT
T7=[CLS]rArT[SEP] The similarity is [MASK] betweenxAandxTin Context
提示文本生成是基于提示學習機制構造融合專利領域知識的提示文本。添加提示文本不僅有利于模型獲得上下文的語義聯系,而且能夠顯著提升下游的任務效果,充分利用預訓練語言模型可以從海量的語料中學習到通用的語言表示。
本文采取對每個類所有標簽詞的概率值取平均的方法,定義標簽詞和類別的映射關系,得到最終類別y對應的預測概率:

(6)


(7)

在實驗過程中,本文模型和對比基線都是通過 Python 來實現,使用工具包OpenPrompt(https:∥github.com/thunlp/OpenPrompt)實現基于知識注入的專利短語相似度分類方法。Our(T5) 是本文提出的基于知識注入提示學習的專利短語相似度計算方法。使用性能最好的提示文本T5與基線方法進行比較。
為了證明本文方法的有效性,將所提方法與經典方法及最近出現的方法進行比較,對比方法具體如下:
1)Word2Vec[33]從大量文本預料中以無監督方式學習語義知識,用于學習文本中的單詞表示。本文使用 tensorflow_hub工具包加載英語維基百科語料版的Word2Vec預訓練文本嵌入向量。
2)GloVe[34]構造一個單詞共現矩陣,然后最小化詞向量之間的歐幾里得距離的平方來學習詞向量。本文通過加載預訓練好的“Wikipedia2014 + Gigaword(glove.6B.zip)”詞向量實現GloVe。
3)FastText[35]基于用實數向量表示文本中單詞的思想,使用神經網絡學習從單詞到向量的映射。本文加載預訓練好的“wiki-news-300d-1M.vec”詞向量獲取每個專利短語的FastText向量表示。
4)BERT[7]和PatentBERT。BERT是一個基于Transformer的模型,使用一個大型的無監督語言建模數據集來學習一個句子的表示,這個句子中單詞的順序是不變的。對于BERT,本文使用BERT-large 模型。為了進行比較,本文在與 BERT-large 相同大小的專利數據上進行訓練后得到 PatentBERT 模型。
5)Sentence-BERT[36]使用深度學習模型來預測句子中的下一個單詞。本文使用“sentence-transformers”工具包加載“all-mpnet-base-v2”實現Sentence-BERT。
6)P-tuning[31]利用可訓練的向量來自動構建提示文本模板,使用BiLSTM對模板中的初始化向量進行表征,增加嵌入向量之間的相關性。
7)KPT[12]通過外部知識庫擴展描述器的提示調優,用于提高文本分類的準確率。
8)Patent2Vec[18]用于專利分類,使用圖嵌入來生成低維表示,通過視圖增強模塊和基于注意力的多視圖融合方法來豐富和對齊不同視圖的信息。
在語義相似性計算任務中,給定一個數據集,可以通過計算預測得分與人工評分之間的相關系數來評價模型性能。有2種常用的相關系數,即PCC和SRC,前者用來衡量2個變量之間的關系強度,后者偏向于相關度的評價。
除此之外,本文還使用文本分類評估指標進行比較,其中包括準確率(RAccuracy)、精確率(RPrecision)、召回率(RRecall)和 F1值,它們的結果包括4個部分,即真正例(NTP)、假正例(NTN)、真負例(NFP)和假負例(NFN),則對應的RAccuracy、RPrecision、RRecall和 F1 值的計算公式分別為:
表3所示為對比方法在專利短語相似度匹配數據集PPSD上的PCC和SRC性能表現。從表3可以看出:靜態預訓練模型 Word2Vec、GloVe 和FastText性能表現不佳,考慮到數據集結構 (如許多具有不同含義的匹配專利術語)的影響,實驗結果符合預期;PatentBERT模型顯著優于常規的 BERT 模型,這意味著通用預訓練模型對于專利中發現的專利術語而言效果不佳。

表3 不同語義相似度計算方法在PPSD上的性能表現Table 3 Performance of different semantic similarity calculation methods on PPSD
然而,本文從PatentBERT和 Sentence-BERT模型中得到了一個較好的結果,因為已經針對用于短語相似性匹配數據的預訓練進行了微調。 KPT和本文方法都是基于提示學習進行微調的提示調優方法,表3顯示,本文專利短語相似度計算方法(Our(T5))性能優于KPT,也比所有的對比基線方法更優,這驗證了將知識圖譜中蘊含的知識引入提示學習中的數據增強方式具有有效性。
4.5.1 提示文本的影響
表4所示為使用不同提示文本的 PCC、SRC、準確率、精確率、召回率、 F1 值的實驗結果,最優結果加粗標注。表4顯示,提示文本T1~T7的 PCC波動比較明顯,在T5上取得了最好的PCC性能。從式(6)可知,T5考慮了上下文 Context特征信息和相關詞 relatedWord 特征信息,說明本文計算方法具有有效性,同樣的結論也可從T5在SRC上的性能表現得出。

表4 不同提示文本的實驗結果Table 4 Experimental results of different prompt texts
從表4可以看出:T1~T7的準確率波動較小,在T4和T5上取得了較好的準確率,可知本文方法對正樣本的查準效果更好;T1~T7的精確率波動也較小,在T5上取得了最佳值,反映了本文方法分類結果準確率穩定,也說明整體分類效果較好;召回率是正確預測專利短語分類數與數據集PPSD中該類別實際包括專利數的比值,在T1~T7上表現相當穩定,說明本文方法對正樣本的查全效果較好;F1值是精確率和召回率的調和平均數,綜合平衡了精確率和召回率,在T1~T7上的表現波動更小,說明本文計算方法的整體分類效果較好。
圖2所示為不同提示文本在驗證集上的損失值變化情況(彩色效果見《計算機工程》官網HTML版)。從圖2可以看出,在 Epoch為5之前,不同提示文本的驗證集損失值波動較大,但是隨后就穩定下來,說明模型泛化效果較好,也進一步說明了其有效性。

圖2 不同提示文本在驗證集上的損失值變化情況Fig.2 Changes in loss values of different prompt texts on the validation set
4.5.2 消融實驗分析
從式(6)的提示文本T1~T7中選出提示文本T1、T2、T4和T5進行消融實驗分析。從表5的實驗結果可以看出,在提示階段,不同的提示文本對應的 PCC和 SRC不同且相差較大,提示文本的長度、上下文 Context和相關詞的選擇均會影響最終的實驗結果,且提示文本中不同特征信息交換位置時也在一定程度上影響了拼接后的語義,導致 PCC和 SRC較低。因此,尋求合適的提示文本是提示學習能否取得較好性能的關鍵。

表5 考慮不同特征信息時提示文本的PCC和SRC性能表現Table 5 PCC and SRC performance of prompt text considering different feature information
對于提示文本T1、T2、T4和T5,在提示文本中輸入的合理信息越多,其性能越優,該結果也能驗證本文基于知識注入提示學習的專利短語相似度計算方法的有效性。
對比提示文本T1和T2可以看出,T2的 PCC 和 SRC 性能表現都優于T1,說明T2的提示文本設置比T1更加合理,也說明了上下文 Context(CPC分類)的有效性。對比T4和T5可知,缺失 CPC 分類特征信息對T4的PCC和SRC性能影響更大,也進一步驗證了上下文Context的重要性。
對比提示文本T1和T4,T4的PCC和SRC表現優于T1,說明T4的提示文本設置比T1更加合理,也說明了相關詞 relatedWord 特征信息的有效性。對比T2和T4可知,T4的PCC和SRC性能更佳,說明考慮相關詞 relatedWord 特征信息比考慮上下文信息更加有效,也驗證了相關詞篩選方法的有效性。相比T2,T5的PCC和SRC性能大幅提升,說明了相關詞 relatedWord特征信息的有效性,也驗證了相關詞選擇方法的合理性。
從表5還可以看出,不同提示文本之間的PCC和SRC性能表現差距較大。相比T1,T5的PCC和SRC性能大幅提升,說明上下文Context信息和相關詞relatedWord特征信息具有有效性,進一步驗證了本文計算方法的合理性。
專利是邁向知識型社會的重要資源,開發高效的系統來管理海量專利數據非常重要。為了解決專利短語信息不足的問題,本文利用專利短語中的相似度標簽信息,提出一種基于知識注入的提示學習方法。實驗結果驗證了該方法的有效性。隨著人工神經網絡技術的不斷發展,基于數據驅動的預訓練和提示學習技術變得更加有效,但是人類的知識也在不斷更新,如在不同時間階段三元組知識(蘋果,CEO,喬布斯)會更新為(蘋果,CEO,庫克)。因此,更新預訓練語言模型中的參數空間知識將是下一步的研究方向。