房 輝 湯文兵 桂海霞 張順香
1(安徽理工大學計算機科學與工程學院 安徽 淮南 232001)2(安徽理工大學經濟與管理學院 安徽 淮南 232001)
近年來微博發展迅速,微博社會群體日趨龐大并且社會影響力也越來越大。Q3微博財報數據顯示,截至2017年9月,微博月活躍用戶共3.76億,與2016年同期增加27%;日活躍用戶達到1.65億,較去年同期增加25%[1]。
命名實體識別的目的是識別出語料中的時間、地點、人名等命名實體[2-3]。針對微博命名實體識別,Van Cuong Tran等提出一種稱為TwiSNER的方法,通過結合條件隨機場模型、人工制定的規則以及圍繞實體特征詞的共現系數的半監督學習方法,對微博中的命名實體進行分類[4]。Diego Esteves則提出一種不依賴任何特定語言資源和編碼規則的新型多層體系結構,與傳統方法不同,他們使用從圖像和文本中提取的特征對命名實體進行分類[5]。
上述方法針對微博文本短小、語言不規范以及噪聲多等特點,取得了很好的命名實體識別效果。但中文微博語境更加復雜,使用機器進行命名實體識別存在識別成本高以及識別速度慢等問題[6]。為了解決以上問題,本文提出了基于眾包標注的中文微博命名實體識別方法,利用眾包平臺上大量的眾包者來對命名實體進行高效的識別。首先在眾包過程中對眾包標注者的能力進行評估,確定每個標注者的能力值;然后使用最大期望值算法對評估得到的眾包標注者的能力值以及評估過程中產生的臨時標簽進行分析學習,過濾掉其中的噪聲;最后根據優化的眾包標注者能力值對微博眾包標記的結果進行糾偏,從而確定最后的命名實體。
1) 眾包標注 目前,深度學習在解決不同領域的人工智能問題方面取得了重大發展,這種成功主要歸因于其能發現高維數據中錯綜復雜的結構。然而,學習復雜高維數據的深層表示的關鍵需求是大量的標記數據,在許多情況下,這些數據并不容易獲得,需要人們手動標記大量的數據。
近年來,眾包已經成為標記大型數據集的可靠解決方案[7]。眾包標注的過程就是眾包發起者在眾包平臺上向參與者分配眾包任務,讓他們來完成標注任務,并且每一個標注任務可以分配給不同的標注者來完成以保證質量,最后將標注的結果收集起來。眾包標注的具體流程圖如圖1所示。

圖1 眾包流程
2) 眾包數據分析與處理 Amazon Machaical Turk以及CrowdFlower等眾包平臺的成功已經證明眾包是獲得標簽數據有效、低成本的方式,但眾包數據的質量并不能得到保證[8]。在眾包過程中,眾包標注者的能力、工作態度以及眾包任務的難易程度都會對最后數據的質量產生影響。雖然傳統的專家標注方法得到的數據質量問題不大,但是標注成本高、速度慢,并不適用于龐大的數據集。
為了保證數據的質量,對眾包平臺數據進行監督學習具有重要意義。目前最常用的方法是通過重復標記生成冗余的標注數據,然后使用機器學習算法過濾這些數據的噪聲以獲得高質量的標注數據。
眾包標注者能力評估算法是對參與眾包任務的標注者能力進行評估,篩選掉能力值較低的標注者,從而使得最后的標注數據準確性更高。由于參與眾包的標注者的能力是未知的,因此,眾包標注過程中最關鍵的部分就是對于眾包標注者能力的評估[9-10]。
該眾包標注標注者能力評估算法由標注者的基礎能力值和業務能力值兩部分組成。算法的框架圖如圖2所示。

圖2 眾包標注工作者能力評估算法框架圖
其中,標注者的基礎能力值由申請眾包任務前的一系列測試所決定。測試包括技能測試以及心理測試。通過測試能淘汰掉一些綜合素質較差的眾包申請者。此次測試能大致了解每個眾包標注者的能力,確定每位符合標準的眾包標注者的基礎能力值。
業務能力值由眾包標注者在進行微博命名實體識別時的準確率以及標注者間的一致性共同決定。如果眾包標注者的識別準確率越高,則說明該標注者能力越高。一致性是指能力越高的標注者之間的標注結果通常是趨于一致的,如果該標注者與其他標注者的一致性越高,則說明該標注者能力越強。
眾包標注者能力評估算法基于標注者的基礎能力值和業務能力值對標注者進行能力評估。通過技能測試以及心理測試得到標注者的基礎能力值。在業務能力值確定過程中,根據標注結果不斷迭代更新標注者的準確率以及標注者間的一致性,直到達到最大迭代次數。最后,得到標注者的能力值。
2.2.1 算法相關定義
定義1(實體對象集合) 給定的中文微博眾包標注任務中需要對n個實體對象進行標注,實體對象集合記為x={xi|i=1,2,…,n},其中xi表示第i個實體對象。
定義2(眾包標注者集合) 通過一系列測試后符合眾包標注任務標準的標注者的集合為u={ur|r=1,2,…,m},共m個標注者,其中ur表示第r個標注者。
定義3(初始能力值) 每個標注者的初始能力值集合為w={wr|r=1,2,…,m},其中wr表示第r個標注者的初始能力值。

首先,對于第r個標注者所完成的標注準確率Ar的計算就是求出該標注者在本次中文微博實體標注任務中所給出的標注標簽與所有實體對象正確標注標簽相同的比率。其中實體對象正確標注標簽就是根據眾包標注標簽最后生成的最終標注標簽。第r個標注者所完成標注的準確率為:
(1)


(2)

(3)


(4)
2.2.2 算法流程
基本流程如算法1所示。
算法1眾包標注者能力評估算法
輸入:收集到的眾包標注集合yn,標注者初始能力集合w,最大迭代次數max
輸出:標注者的能力值集合
1)i=1,迭代計數器p=1;
2) while(i 3) 取第i個命名實體對象的所有標注結果; 4) 計算標注結果對應于每類命名實體的支持率; 5) 取最大支持率或該類別能力值最大的標注者的標注結果確定為該命名實體對象的臨時標簽li; 6)r=1; 7) while(r 10) 計算第r個標注者在第i個實體對象上的標注準確率Ar; 12)r++; 13) endwhile; 14)i++; 15) endwhile; 17) 迭代計數器p的值加1,判斷是否達到最大迭代次數max,若是,則跳轉到步驟18,否則跳轉到步驟2; 18) 返回標注者的能力值集合。 眾包平臺上的每個眾包標注者之間都是相互獨立進行眾包標注,并且在眾包標注者能力評估算法中通過計算眾包標注的支持率可知命名實體種類li,因此可得式(5): (5) 式中:Θ表示眾包標書進行中文微博命名實體識別的能力: (6) 式中:Ar由式(1)求得,代表每個標注工作者的標注準確率。 基于式(5),可以導出一個期望最大值算法,用來學習眾包標注工作者的能力Sr。期望最大值算法求解由式(7)給出: Inp(D|Θ,{S1,S2,…,Sm})= (7) EM算法充分考慮了眾包標注者的能力值誤差因素,幫助眾包平臺排除能力值較低的工作者,具體步驟如下: q(li=c)∝ (8) (2) M-step 尋找能使E-step產生的最大似然期望最大化的參數值,將眾包標注工作者的能力值更新為: (9) (10) 共進行兩組實驗,都是進行人名、地名、機構名的識別。第一組實驗的目的是驗證眾包標注方法識別中文微博命名實體的有效性,第二組實驗是考察不同參數對于實驗結果的影響。 第一組實驗選用的是1998年1月的《人民日報》(RMRB-98-1)語料庫中前80%共15 850句的數據以及2018年5月在新浪微博上(XLWB-18-5)收集的20 000條微博的前80%作為開發訓練集,剩余部分作為開發驗證集,數據集的詳細信息如表1所示。第二組實驗的數據與第一組相同。由于微博更新速度快,為了避免在某一時間段內由于某個熱門話題導致某些實體過度重復的問題,在5月的微博中,從時間上平均地選取了20 000條微博。 表1 數據集的詳細信息 實驗采用Python編程,運行服務器配置為2.80 GHz Intel(R) Core(TM) CPU和8 GB內存,軟件使用的是Win10操作系統和PyCharm編譯器。實驗的評價標準是準確率P、召回率R以及調和平均數F值。 本文使用RMRB-98-1和XLWB-18-5作為開發集,讓20位標注者對開發集進行標注,目的是標注出人名、地名、機構名三類實體。在標注過程不斷對標注者能力進行評估,然后使用EM算法過濾噪聲,得到最后的標注結果。實驗結果如表2所示。 表2 眾包標注模型實驗結果 由表2可以看出,相比訓練集,測試集的識別效果均有所下降,這說明某一標注者如果識別某一種命名實體的能力最高,但其標注結果并不能保證完全正確,相反某些能力較低的標注者的結果存在一定概率是正確的。 本文分別采用文獻[13-15]的方法與本文方法在新浪微博數據上進行命名實體識別效果比較。人名、地名、機構名3種命名實體的準確率、召回率及其加權調和平均值F值分別如圖3-圖5所示。 圖3 人名實體識別的準確率、召回率與F值 圖4 地名實體識別的準確率、召回率與F值 圖5 機構名實體識別的準確率、召回率與F值 通過比較四種方法在中文微博數據上進行命名實體識別的效果可以發現,本文提出的眾包標注方法識別效果最好,證明了本文方法的有效性。從圖3與圖4可以看出,與其他三種方法相比,人名和地名的識別效果大大提高,準確率、召回率以及F值均達到了80%左右,識別效果十分可觀。因為相比機器識別,人們在日常生活中會接觸到大量的人名、地名,所以對這兩種命名實體十分敏感,并且微博語句中的人名、地名也十分明顯,但是識別效果依舊沒能達到預期的90%以上。通過分析標注者的標注結果可以看出,很多標注者不能準確識別人物別名(例如,明星謝娜的別名叫娜娜或娜姐,很多標注者只能識別出謝娜,其他兩種別名并不能準確識別)以及錯誤識別地名(例如“我在草地上”,有的標注者會將草地是識別成地名,準確來講只能算作地理位置)。 由圖5可以看出,機構名的識別效果雖然相比較文獻[13]和文獻[14]有了一定提升,但與人名、地名的識別效果相比存在很大的差距,準確率只有62%左右,召回率不到50%。主要是因為標注者對于機構名儲備知識不夠,因此通過培訓眾包標注者對于基礎知識的掌握能力,可以大大提高命名實體識別效果。 主要考察標注者能力值中的參數η。不同的η值會影響標注者的標注準確率和標注一致性對于業務能力值的貢獻比例,從而影響算法對標注者能力值的評估,不同能力值的標注者識別命名實體的準確率存在很大誤差。圖6給出在λ=0.8,η取不同值時,人名、地名、機構名三種命名實體識別F值的平均值的情況。 圖6 η取不同值時命名實體識別F值的平均值 從圖中可以看出,隨著η取值的不斷增加,三種命名實體識別F值的平均值先不斷增加,然后減少,當η=0.5時達到最大。其中η=0時的值明顯大于η=1的值,這是因為η=0時,眾包標注者的能力值只取決于眾包標注者間的一致性,而η=1時,能力值則取決于標注者的標注準確率,在計算標注的準確率時,是以眾包標注過程中產生的臨時標簽作為評價標準進行計算的,因此存在較大誤差。 本文針對微博更新速度快,語言不規范和噪聲多等特點,提出采用眾包標注方法識別中文微博命名實體。通過能力評估算法對眾包標注者的能力值進行初步評估,隨后通過EM算法對能力值進一步優化。實驗驗證了相比較傳統方法,眾包標注方法有效提高了對于中文微博命名實體識別的效果,并且成本更低、速度更快。由于微博自身內容的特殊性以及標注者知識儲備的局限性,本文方法對機構名的識別率還不夠理想,因此,接下來工作將是如何提高結構名的識別效果。


3 眾包質量控制算法
3.1 期望最大值算法估計標注者的能力值
3.2 噪聲過濾和正確結果估計


4 實 驗

4.1 眾包標注命名實體實驗




4.2 參數對結果的影響

5 結 語