宮衍圣, 蔡科平, 王志強(qiáng), 李鑫鑫, 靖穩(wěn)峰
(1. 中鐵第一勘察設(shè)計(jì)院集團(tuán)有限公司,西安 710043; 2. 西安工業(yè)大學(xué),西安 710021;3. 國(guó)網(wǎng)浙江省電力公司信息與通信分公司,杭州 310007;4. 西安交通大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,西安 710049)
數(shù)據(jù)標(biāo)注是監(jiān)督學(xué)習(xí)的一個(gè)重要環(huán)節(jié)。它是指對(duì)采集到的圖像、語(yǔ)音、文本等數(shù)據(jù)對(duì)象進(jìn)行不同類別的標(biāo)識(shí),為數(shù)據(jù)分析或人工智能算法提供訓(xùn)練數(shù)據(jù)。常見(jiàn)的數(shù)據(jù)標(biāo)注任務(wù)包括類別標(biāo)注、區(qū)域標(biāo)注、描點(diǎn)標(biāo)注等。類別標(biāo)注是指從給定的標(biāo)簽集中選擇合適的標(biāo)簽分配給數(shù)據(jù)對(duì)象,通俗地說(shuō)就是對(duì)所給定的圖像、語(yǔ)音或文本數(shù)據(jù)指定一個(gè)類別標(biāo)簽,達(dá)到與其他數(shù)據(jù)區(qū)分的目的。
人工標(biāo)注是進(jìn)行數(shù)據(jù)標(biāo)注的基本方法,標(biāo)注人員需要熟悉領(lǐng)域?qū)I(yè)知識(shí)才能實(shí)現(xiàn)正確標(biāo)注。此種標(biāo)注方法需要耗費(fèi)大量的人力、財(cái)力,其效率低下。隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,使用機(jī)器學(xué)習(xí)輔助的半自動(dòng)化數(shù)據(jù)標(biāo)注方法不斷發(fā)展,成為大數(shù)據(jù)背景下更加常用的數(shù)據(jù)標(biāo)注方法[1]。
本文提出了一種對(duì)數(shù)據(jù)科學(xué)與人工智能領(lǐng)域的文章進(jìn)行半自動(dòng)化標(biāo)注的方法。首先應(yīng)用爬蟲(chóng)程序獲取了42034 篇數(shù)據(jù)科學(xué)與人工智能類的科技論文摘要數(shù)據(jù),然后通過(guò)“構(gòu)建領(lǐng)域語(yǔ)料庫(kù)–單詞向量化–文本向量化–文本聚類–提取當(dāng)前類中關(guān)鍵主題特征詞–對(duì)主題詞進(jìn)行人工歸納得到當(dāng)前類標(biāo)簽–訓(xùn)練文本分類模型–應(yīng)用訓(xùn)練好的模型進(jìn)行文章標(biāo)注”。該方法大大提高了文章類別標(biāo)注效率,可作為論文推薦系統(tǒng)的基本技術(shù)。新方法具有很好的遷移性能,可適用于多種自然語(yǔ)言處理任務(wù)中不同領(lǐng)域的文本信息類別標(biāo)注。
文本向量化是自然語(yǔ)言處理最基本的工作。文本向量化之前,需要獲取每個(gè)單詞的向量表示。本文基于爬蟲(chóng)程序獲取的數(shù)據(jù)科學(xué)與人工智能類文章摘要構(gòu)建領(lǐng)域語(yǔ)料庫(kù),在此語(yǔ)料庫(kù)上使用Word2vec[2]、Paragraph2vec[3]和TF-IDF(Term Trequency-Inverse Document Frequency)等方法得到單詞的向量表示。
首先,從數(shù)據(jù)科學(xué)與人工智能類會(huì)議和期刊上通過(guò)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)獲取到42 034 篇論文的標(biāo)題和摘要作為原始數(shù)據(jù),然后對(duì)這些數(shù)據(jù)進(jìn)行預(yù)處理,預(yù)處理過(guò)程包含大小寫(xiě)轉(zhuǎn)換、去標(biāo)點(diǎn)符號(hào)、去停用詞、詞干化等;接著,通過(guò)預(yù)處理之后的數(shù)據(jù)構(gòu)建了針對(duì)數(shù)據(jù)科學(xué)與人工智能這一特定領(lǐng)域的語(yǔ)料庫(kù);最后,將經(jīng)過(guò)預(yù)處理之后的文本使用詞嵌入技術(shù)得到32 266 個(gè)單詞的詞向量表示,每個(gè)單詞用一個(gè)200 維的實(shí)數(shù)向量表示。
TF-IDF 詞向量表示方法包含詞頻TF 與逆文檔頻率IDF 兩部分,它認(rèn)為一個(gè)單詞對(duì)于文本分類的重要性正比于其在單個(gè)文本中的頻數(shù),反比于其在全部文檔中的頻數(shù)[4]。單詞w的詞頻和逆文檔頻率分別記為TFw和IDFw,其計(jì)算公式如下
在文本向量化階段,將TF-IDFw作為w的權(quán)重,對(duì)當(dāng)前論文中所有Word2vec 加權(quán)求和,從而獲取單詞的向量表示,通過(guò)這樣的方法使得論文中不同重要程度的單詞發(fā)揮不同的作用,具體實(shí)現(xiàn)步驟如下。
設(shè)語(yǔ)料庫(kù)中的論文數(shù)據(jù)集合為{t1,t2,··· ,tM},詞匯表(字典)矩陣為D=[w1,w2,··· ,wN],其中wi是第i個(gè)單詞的Word2vec 向量
文本聚類是實(shí)現(xiàn)文本自動(dòng)化標(biāo)注的基礎(chǔ),本文使用K-means 算法完成文本聚類。Kmeans 的聚類個(gè)數(shù)K值需事先確定,本文使用Robert 等人提出的Gap statistic 方法[5]選取最佳聚類簇?cái)?shù)。K-means[6]初始聚類中心的選取使用K-means++算法[7]。本文使用Tadeusz Calinski 提出的CH 指標(biāo)[8]衡量最終的文本聚類效果。
類別主題詞是能夠表示文章類別的關(guān)鍵詞。為了得到每一類論文的類別主題詞,本文采用帶有L1正則化的Logistic Regression 二分類模型–L1-LR 提取類別主題詞。
定義二元Logistic Regression 函數(shù)[9]
本文使用坐標(biāo)軸下降法進(jìn)行求解[9],具體求解步驟如下。
算法1L1-LR 二分類模型求解
輸入:M 個(gè)數(shù)據(jù)點(diǎn)xi =(xi1,xi2,··· ,xin), i=1,2,··· ,M,每個(gè)數(shù)據(jù)有n 個(gè)特征輸出:每個(gè)特征的權(quán)重參數(shù)絕對(duì)值|θi|排序步驟1:隨機(jī)初始化參數(shù)向量為θ(0);步驟2:對(duì)于第k(k ≥1)輪迭代,依次求θ(k)i , i=1,2,··· ,n,有θ(k)1 =argmin ),θ1 J(θ1,θ(k-1)2,··· ,θ(k-1)n θ(k)2 =argmin ),θ2 J(θ(k)1 ,θ2,θ(k-1)3,··· ,θ(k-1)n··· ,θ(k)n =argmin J(θ(k)θn 1 ,θ(k)2 ,··· ,θ(k)n-1,θn);步驟3:檢查θ(k)向量和θ(k-1)向量在各個(gè)方向上的收斂情況,如果θ(k)和θ(k-1)在所有的方向上都滿足收斂條件,那么θ(k)為最終結(jié)果,否則繼續(xù)轉(zhuǎn)入步驟2,開(kāi)始第k+1 輪迭代。
在上述工作的基礎(chǔ)上,本文提出一種有效的文本類別自動(dòng)標(biāo)注方法,詳細(xì)步驟如下。算法2 基于機(jī)器學(xué)習(xí)的文本自動(dòng)類別標(biāo)注
輸入:通過(guò)網(wǎng)絡(luò)爬蟲(chóng)獲取的M 篇數(shù)據(jù)科學(xué)與人工智能領(lǐng)域相關(guān)論文摘要X ={x1,x2,··· ,xM}輸出:所有論文數(shù)據(jù)最終的類別劃分信息,包括類別數(shù)、每篇論文所屬類別
步驟1:對(duì)原始數(shù)據(jù)預(yù)處理,得到數(shù)據(jù)科學(xué)與人工智能領(lǐng)域語(yǔ)料庫(kù),取出語(yǔ)料庫(kù)中頻數(shù)最高的2000 個(gè)單詞構(gòu)成詞典D;
步驟2:在語(yǔ)料庫(kù)上訓(xùn)練Word2vec 或Paragraph2vec 詞嵌入模型,將每個(gè)單詞表示成一個(gè)d維的實(shí)數(shù)向量,d一般取值200;
步驟3:選擇以下一種方式得到文本向量化表示矩陣T:
1) 文本中所有單詞的Word2vec 向量累加;
2) TF-IDF 矩陣×Word2vec 矩陣;
3) 文本中所有單詞的Paragraph2vec 向量累加;
4) TF-IDF 矩陣×Paragraph2vec 矩陣;步驟4:文本聚類:
1) 將T輸入Gap statiatic 算法中得到最佳聚類簇?cái)?shù)K;
2) 將T和K輸入K-means 算法中完成聚類,其中初始質(zhì)心的選取使用Kmeans++方法優(yōu)化;
3) 使用CH 指標(biāo)衡量聚類效果;步驟5:類別主題分析:1) 構(gòu)建K個(gè)二分類數(shù)據(jù)集。數(shù)據(jù)集i:屬于第i類的樣本標(biāo)記為正樣本,其余K-1 類樣本標(biāo)記為負(fù)樣本;
2) 使用SMOTE 算法[10]均衡正負(fù)類樣本數(shù)據(jù)量;
3) 對(duì)數(shù)據(jù)集i,用L1-LR 二分類模型提取類別特征詞;步驟6:對(duì)K個(gè)L1-LR 二分類模型中模型變量對(duì)應(yīng)的權(quán)重絕對(duì)值排序,在詞典D中選取絕對(duì)值最大的若干系數(shù)所對(duì)應(yīng)的單詞作為主題詞,最后根據(jù)這些主題詞歸納得得到K個(gè)類論文的標(biāo)簽。
1) Gap statistic
由于K-means 算法具有隨機(jī)性,每次運(yùn)行Gap statistic 方法選出的最佳聚類簇?cái)?shù)K可能不一樣,故將上文提到的4 種不同的文本表示方式作為聚類的輸入矩陣,分別通過(guò)Gap statistic 方法得到的最佳K值為20。
2) 文本向量化方式
本文對(duì)表1 中所列的4 種文本向量化的速度以及聚類效果進(jìn)行了對(duì)比,從實(shí)驗(yàn)結(jié)果中可以看出,單獨(dú)使用詞嵌入向量累加來(lái)表示文本的方式CH 指標(biāo)雖略高于詞嵌入與TF-IDF 值加權(quán)求和的文本向量化方式,但在生成文本向量時(shí),卻要付出高于700 多倍的時(shí)間。因此,本文綜合考慮聚類效果CH 指標(biāo)值與生成文本向量表示的時(shí)間,最終選用Word2vec 詞嵌入與TF-IDF 值加權(quán)求和的方式進(jìn)行文本表示。
表1 不同的文本表示方法實(shí)驗(yàn)結(jié)果對(duì)比
對(duì)算法進(jìn)行時(shí)間復(fù)雜度分析,解釋文本向量化方式速度上的差異。已知字典D大小為N,文本集合T長(zhǎng)度為M,文本平均長(zhǎng)度為L(zhǎng),詞嵌入維度為d,詞嵌入矩陣W ∈RN×d,TF-IDF 稀疏矩陣F ∈RM×N,F(xiàn)的稀疏度為a=F中0 元個(gè)數(shù)/F中所有元素個(gè)數(shù),a ∈[0,1],使用TF-IDF 值與Word2vec 詞嵌入向量加權(quán)求和的方式對(duì)文本進(jìn)行向量表示,只需將稀疏矩陣F與矩陣W相乘即可實(shí)現(xiàn),此方法的時(shí)間復(fù)雜度為O1=O(M×N+a×M×N×d);而使用詞嵌入向量累加的方式,對(duì)一個(gè)論文數(shù)據(jù)中的所有單詞,需遍歷詞嵌入矩陣找到其向量表示,再累加,所需時(shí)間復(fù)雜度為O2=O(L×M×N×d)?O1,這也從理論上驗(yàn)證了實(shí)驗(yàn)結(jié)果的準(zhǔn)確性。
3) 文本聚類結(jié)果展示
表2 和表3 中分別展示了第0 類、第3 類中的部分文本標(biāo)題,可以看到,通過(guò)本文提出的文本聚類算法,聚出來(lái)的文本幾乎均屬于同一類,對(duì)這些標(biāo)題進(jìn)行歸納,可以大致確定第0 類為強(qiáng)化學(xué)習(xí)、Q 學(xué)習(xí)相關(guān)類,第3 類為NLP(文本分類、機(jī)器翻譯、情感分析等)類,第9 類為CT/MRI 等醫(yī)學(xué)影像分析,對(duì)于剩下的類采取同樣方式進(jìn)行歸納,這里不再一一列舉,之后再將這些結(jié)果與L1正則化結(jié)果對(duì)比分析,歸納出每一類論文的類別標(biāo)簽。
表2 第0 類部分論文標(biāo)題
表3 第3 類部分論文標(biāo)題
續(xù)表
1)L1-LR 二分類模型結(jié)果
圖1 至圖3 分別展示了使用SMOTE、Borderline-SMOTE 和ADASYN 方法的L1-LR 二分類模型在驗(yàn)證集上的accuracy、precision、recall 和f1-score 結(jié)果值,可以看出:
圖1 基于SMOTE 上采樣的L1-LR 二分類結(jié)果
圖2 基于Borderline-SMOTE 上采樣的L1-LR 二分類結(jié)果
圖3 基于ADASYN 上采樣的L1-LR 二分類結(jié)果
(a) 三種采樣方式得到的結(jié)果基本一致;
(b) 20 個(gè)二分類任務(wù)的accuracy、precision、recall 和f1-score 值均高于0.94,訓(xùn)練的二分類模型在驗(yàn)證集上表現(xiàn)良好,無(wú)欠擬合或過(guò)擬合現(xiàn)象;
(c) 通過(guò)訓(xùn)練好的L1-LR 二分類模型進(jìn)行特征詞篩選完全可行。
2) 類別特征詞提取結(jié)果
每個(gè)二分類模型訓(xùn)練完成后,會(huì)返回字典中所有單詞對(duì)應(yīng)的L1權(quán)重值,將權(quán)重絕對(duì)值較大的特征詞挑選出來(lái),隨機(jī)選取了其中6 類的結(jié)果展示在表4 中。這些特征詞對(duì)于所屬的二分類任務(wù)發(fā)揮了重要作用,說(shuō)明可以用于區(qū)分當(dāng)前類與非當(dāng)前類,或者可以作為當(dāng)前類的主題詞,或者可以作為其他類的主題詞,因此L1正則化特征詞選擇結(jié)果可以用于輔助論文數(shù)據(jù)類別標(biāo)注工作。
表4 L1 正則化特征詞提取結(jié)果展示
同時(shí),本文在此部分做了對(duì)照實(shí)驗(yàn),使用經(jīng)典TextRank 關(guān)鍵詞提取算法[11],對(duì)每一類中心的文本提取關(guān)鍵詞,作為這一類的主題詞,提取出來(lái)的關(guān)鍵詞見(jiàn)表5 所示。
從表5 中可以看出,TextRank 算法提取出的關(guān)鍵詞會(huì)將諸如data、model、method、result 等不具備明顯類別區(qū)分意義的詞匯篩選出來(lái),原因在于使用此方法時(shí),每一類中只用到了類中心一篇論文數(shù)據(jù)的信息,不具備說(shuō)服力,效果自然很差。而表4 中L1正則化方法提取出來(lái)的絕大多數(shù)單詞,具備明顯的類別含義,可以作為類別的主題詞,因此本文最終選取L1-LR 模型提取類別特征詞。
表5 TextRank 關(guān)鍵詞算法提取結(jié)果
綜合考慮文本聚類以及類別主題分析的實(shí)驗(yàn)結(jié)果,本文實(shí)現(xiàn)了數(shù)據(jù)科學(xué)與人工智能類論文的類別標(biāo)注,詳細(xì)結(jié)果展示在表6 中。
表6 論文類別標(biāo)注結(jié)果
本文提出了一種基于機(jī)器學(xué)習(xí)方法的半自動(dòng)論文類別標(biāo)注算法,對(duì)42 034 篇數(shù)據(jù)科學(xué)與人工智能類的科技論文進(jìn)行了類別標(biāo)注。為驗(yàn)證標(biāo)注結(jié)果的有效性,同時(shí)也為了將本文所做工作應(yīng)用到實(shí)際問(wèn)題中,在得到了所有論文的類別之后,將其按一定比例劃分為訓(xùn)練集與驗(yàn)證集,構(gòu)建文本分類器,并提出了一種基于文本分類的推薦算法,將其應(yīng)用到數(shù)據(jù)科學(xué)與人工智能類科技論文推薦系統(tǒng)中。首先,通過(guò)分類器得到新論文的主題標(biāo)簽;之后計(jì)算用戶輸入的查詢關(guān)鍵詞與論文類別之間的相似度完成論文的推薦,按相似度值排序,為用戶推薦最新發(fā)表的TOP20 篇論文。
使用BERT(Bidirectional Encoder Representations from Transformers)算法[12]構(gòu)建文本分類器,得到了在驗(yàn)證集上準(zhǔn)確率最高的模型,部分結(jié)果展示在表7 中。
表7 文本分類實(shí)驗(yàn)結(jié)果對(duì)比
對(duì)于BERT 模型中詞庫(kù)文件這一參數(shù),在訓(xùn)練模型時(shí)分別加載了BERT 源碼自帶的vocab.txt 文件;將語(yǔ)料庫(kù)中詞頻大于0.01,小于0.7 的單詞選出來(lái)共1 349 個(gè)構(gòu)成本文專用詞庫(kù)my vocab.txt 文件;本文構(gòu)建的領(lǐng)域語(yǔ)料庫(kù)中所有單詞構(gòu)成的詞庫(kù)myall vocab.txt 文件這三個(gè)txt 文件來(lái)對(duì)比實(shí)驗(yàn)結(jié)果。
從表7 展示的文本分類實(shí)驗(yàn)結(jié)果中,可以得到以下結(jié)論:
1) 在訓(xùn)練BERT 文本分類模型時(shí),使用本文構(gòu)建的專用詞庫(kù)或領(lǐng)域語(yǔ)料庫(kù)比使用BERT 自帶的詞匯表文件在驗(yàn)證集上的表現(xiàn)更好;
2) 將本文得到的論文類別標(biāo)注結(jié)果經(jīng)過(guò)BERT 算法之后,通過(guò)一定的調(diào)參可以在驗(yàn)證集上得到較高的準(zhǔn)確率,能夠得到一個(gè)效果很好的文本分類器,可以實(shí)現(xiàn)基于文本分類的科技論文推薦,這也證明了本文提出的論文半自動(dòng)類別標(biāo)注算法具有有效性與實(shí)踐應(yīng)用意義。
本文提出了一種結(jié)合機(jī)器學(xué)習(xí)算法與人工輔助工作的半自動(dòng)文本類別標(biāo)注方法,并以42 034 篇數(shù)據(jù)科學(xué)與人工智能類的科技論文作為實(shí)驗(yàn)數(shù)據(jù),驗(yàn)證了半自動(dòng)類別標(biāo)注方法的有效性與實(shí)際意義。本文提出的半自動(dòng)文本類別標(biāo)注方法在保證標(biāo)注結(jié)果準(zhǔn)確性的前提上,大大提高了工作效率;且論文類別標(biāo)注結(jié)果構(gòu)建了一個(gè)數(shù)據(jù)科學(xué)與人工智能領(lǐng)域論文分類的數(shù)據(jù)集,為相關(guān)方向的研究者提供了便利。
工程數(shù)學(xué)學(xué)報(bào)2021年6期