?

海量標注語料庫智能構建系統的設計與實現

2022-01-21 10:30楊靜姜贏朱哲宇
現代計算機 2021年33期
關鍵詞:語料語料庫專家

楊靜,姜贏,朱哲宇

(1.北京師范大學人文和社會科學高等研究院,珠海 519087;2.北京師范大學珠海分校,珠海 519087)

0 引言

隨著自然語言處理技術的進步以及大型語料庫的不斷豐富,中文信息處理領域取得了豐富的研究成果。這其中尤為突出的是基于機器學習、深度學習等方法的深入應用,在中文分詞、詞性標注、語義分析、主題提取、自動問答系統、機器翻譯、文本聚類等方面都取得了較好的效果。但對于半監督、有監督的算法而言,網絡模型的訓練往往需要海量正確標注的語料作為樣本,通過學習之后才能具備對未知數據的預測能力。例如最新的自然語言深度學習模型GPT-3[1],該模型通過對將近0.5萬億個單詞進行預訓練,可以很好地完成翻譯、自動問答甚至生成連貫的文本段落。雖然目前已經出現了各種自動文本標注算法,但由于中文詞義的復雜、多變,無論哪一種標注算法都無法達到100%的準確率。特別是在語義、語用和話語研究中,單純依靠計算機的自動判別無法達到研究所需的精度,因此海量的高質量標注數據對于中文信息處理是不可或缺的研究素材。

語料庫是自然語言處理的重要數據支撐平臺,大量帶標注的結構化語料能夠幫助研究者對語料庫信息進行深度挖掘,并實現語料的增值[2]。目前國內大部分語料庫都存在規模偏小、語料陳舊、標注單一、開發周期過長等缺陷。例如:北京大學計算語言研究所構建的1998年人民日報語料庫無論在學界和業界都有巨大的影響力,但是隨著時間的推移,該語料庫的時效性、完備性和覆蓋度均需要進一步的更新和補充。然而建設一個海量標注語料庫是一項非常巨大的系統工程,從原始語料的采集、整理、存儲、分發、標注到語料庫的后期維護都需要大量的人力與物力。語料庫標注是“為了提高計算機處理自然語言能力而向文本添加元信息的過程”[3],這里的元信息一般來說包括文本的詞性標注、句法分析、音韻標注、語義標注、語用標注、話語標注、文體標注、詞語標注等[4]。語料庫標注按標注內容可以分為:一般語言學知識標注、實體知識標注和特定語言任務標注[5]三類。標注階段由于算法標注和人工標注都無法達到百分百的準確,是語料庫建設中最為耗費人力和時間的步驟。傳統的以人工為主的語料庫開發方式已經逐漸不能適應海量語料庫的開發需求,目前很少有研究者從事專門的標注語料庫標注系統研究,已有各種標注系統大多是針對某一專門的領域,例如計算機視覺領域中的靜態圖像行為標注系統[6];或者是用于完成某種特定的自然語言標注任務,例如WASA[7]是一個用于專門處理多語語碼轉換的標注系統。一個完善的語料庫標注系統除了應該能夠高效的完成大規模語料數據的標注任務,還需要易于擴展以支持不同的標注類型。因此本文中的系統主要是針對大型語料庫中的中文分詞與詞性標注任務,而其他類型的標注問題也可以參考借鑒本系統。

針對以上問題,本文通過構建基于海量語料庫的智能標注系統,旨在提供一套完整的海量標注語料庫開發方案,為語料庫開發者提供了從語料的采集、分發到存儲、標注以及統計分析等各項功能。系統采用B∕S架構,通過三級標注來保證標注的準確率和標注效率,并內置三個用戶自定義的標注參數以適應不同的語料庫標注任務,除此之外,系統還通過專家錯誤反饋機制、詞性查詢字典、標注用戶留言等功能來輔助標注。使用該系統可以大大縮短海量標注語料庫的開發周期,并降低語料標注的人工成本。

1 系統結構與設計

1.1 系統基本架構

系統主要包括語料導入、導出模塊、語料派發模塊、預標注模塊、眾包標注模塊、專家標注模塊、錯誤反饋模塊、查詢模塊、留言模塊以及數據統計模塊。系統具備易開發、易維護、易擴展的特點,方便語料庫開發人員進行系統配置以及后期的系統維護與更新。語料庫開發者可以根據不同的語料標注任務進行系統參數配置以獲得最優的標注效果。系統遵循MVC設計思想,采用J2EE技術,構建B∕S架構;采用前后端分離模式,前端使用React框架作為數據展示實現,后端使用Spring Boot框架來搭建系統;數據存儲采用MySQL和Elasticsearch相結合,除了能滿足數據存儲需求還能提供海量數據的快速搜索、統計分析和數據探索功能。系統使用MyBatis-Plus作為數據持久層框架;Spring Security作為認證服務框架,實現基于RBAC模型的權限控制。系統基本架構如圖1所示。

圖1 系統架構

1.2 系統功能模塊介紹

為了滿足海量標注語料庫的開發需求,系統主要包括十個功能模塊,分別屬于服務器端功能模塊和客戶端功能模塊。

1.2.1 服務器端功能模塊

(1)導入、導出模塊。批量或者單獨導入或導出不同格式的原始語料,并預留接口可以直接連接外部語料采集系統。

(2)標注者評價模塊。對標注用戶進行標注能力測試、評分,并根據評價結果進行標注用戶篩選。

(3)預標注模塊。利用自動標注算法對原始語料進行預標注。

(4)語料派發模塊。對原始語料進行分割后派發給不同的標注用戶進行標注。

(5)數據統計模塊。對語料標注情況進行統計分析。

1.2.2 客戶端功能模塊

(1)眾包標注模塊。眾包標注用戶對系統所分配的語料進行標注。

(2)專家標注模塊。專家標注用戶對系統判定的疑難語料進行標注。

(3)錯誤反饋模塊。專家用戶在標注過程中糾正錯誤標注的結果并反饋給預標注算法和眾包標注用戶。

(4)查詢模塊。標注用戶和語料庫使用者可以對標注情況以及語料進行多維查詢。

(5)留言模塊。用戶可以將在使用過程中所遇到的系統使用、標注問題等相關信息反饋給系統開發者。

在語料標注的過程中,系統采用三級標注的方式對語料進行標注,可以同時保證標注的準確率和效率,標注的具體流程如圖2所示。

圖2 語料標注流程

2 系統關鍵算法介紹

根據不同的建庫目的,語料庫中語料來源有不同的種類,主要包括:報刊文章、文學作品、廣播電視轉寫、微博、科技論文、教材等等。由于版權保護的原因,語料庫的語料一般不能以全文方式顯示,而是以單個句子、詞、字的形式進行統計分析和規律展示。在語料標注任務中,語料庫開發者希望將同一個標注任務盡可能分散的分配給不同的標注用戶以避免版權糾紛和敏感語料的泄露。因此系統需要首先將完整的語料全文按標點符號切分成若干句子再以單句為最小任務單位進行分發。另一方面,為了提高人工標注的準確率,系統采用冗余標注的方式,即一個標注任務分發給多個眾包用戶進行標注。

基于以上兩點考慮,系統給出了一種簡單、高效的標注語料派發算法。系統接收兩個用戶自定義參數:最小語料間隔和冗余標注數量。首先將系統中的原始語料進行分句處理,并記錄每條語料的位置信息,例如(i,j)表示第i篇文檔中的第j句語料,再將所有語料隨機打亂順序。系統將每一條語料分配給預定數量的標注者之后,遍歷整個分配結果,如果發現同一個標注者的相鄰兩個標注語料屬于同一文檔且位置間隔小于預設定的最小語料間隔則進行重新分配直到所有分配結果滿足最小間隔的要求。

由于系統采用了三級標注來處理標注任務,為了區分不同標注階段的語料,語料設有以下5種狀態:未標注、預標注、眾包標注、專家標注以及成功標注。原始語料的狀態為未標注,由算法自動標注完成后語料狀態由轉變為預標注。系統將預標注狀態的語料分發給眾包標注者進行眾包標注,語料狀態同時被設置為眾包標注。

系統基于多用戶的冗余標注,每條語料會派發給多個眾包用戶進行標注,再根據眾包標注的中間結果來決定如何進行下一步的語料標注派發。引入三元組<m,n,k>來標記語料標注的中間結果:其中的m代表最大相同眾包標注結果數量,n為不同眾包標注結果數量,k為語料跳過總次數。具體標注過程如下:標注者首先對接收到的語料標注任務進行評估,如果認為該條語料的標注過于困難則可以選擇直接跳過,語料的中間狀態更新為<m,n,k+1>。如果眾包用戶選擇進行標注,系統在用戶提交結果后進行多用戶標注結果的對比,并更新最大相同語料標注結果和最大不同語料標注結果。例如三元組<3,2,2>表示該語料的標注結果中有3位用戶標注一致,有2種不同的標注結果,且曾經被2位用戶跳過標注。

在大多數應用場景中,如果多位用戶給出了完全相同的標注結果,可以直接接受該結果,而如果同一個標注任務出現多個完全不同的標注結果,則可以認為該標注任務存在歧義,屬于較難的標注任務,而如果同一個標注任務多次被標注者選擇跳過,則可以認定該標注任務屬于困難任務。系統設定三個自定義參數:驗證接受次數、驗證拒絕次數和最大跳過次數,分別對應語料狀態三元組中的三個值。用戶可以根據實際應用中語料標注的難易程度自行設定參數大小,系統判定邏輯為:如果m值大于驗證接受次數,系統將認定該條語料為成功標注;而如果n值大于驗證拒絕次數,系統將認為該條語料未通過交叉驗證則不再分發給眾包用戶而是直接發給專家用戶進行標注;如果k值大于最大跳過次數,則系統自動將該條語料設置為疑難語料,疑難語料也直接發給專家用戶進行標注。系統語料派發的優先級由以下規則確定:人工標注狀態的語料優先級高于預標注狀態的語料,而同樣為人工標注狀態的語料則根據狀態三元組中的m值確定,m值越大優先級越高。這種語料派選方法傾向于將系統中已標注過的語料優先處理完畢,然后再對未標注過的語料進行標注,可以有效防止系統中產生大量未標注完畢的語料。

3 系統主要功能模塊

3.1 人工標注

人工標注包括眾包標注和專家標注兩部分,在語料預標注的基礎上,為了最大限度提高人工標注的語料產出效率,系統提供了兩種人工標注方式:選擇模式和輸入模式,標注人員可以根據自己的標注習慣與偏好選擇合適的模式進行標注。

選擇模式盡可能減少人工標注過程中的鍵盤輸入,標注用戶只需要點擊選擇框進行選擇就可以對語料進行標注,不需通過鍵盤輸入詞性。標注頁面如圖3所示。

圖3 選擇模式核心標注界面

系統根據系統對語料的標注結果,通過正則表達式,將語料以“詞∕詞性”的模式進行拆分顯示,標注界面上方顯示原始語料,語料正下方按系統分詞結果進行切分顯示下拉菜單,標注人員在對應位置進行詞性選擇。點擊詞性框會彈出詞性的具體選擇模塊,詞性通過二級菜單實現分類展示,用戶點擊詞性選擇框,首先彈出詞性類別選項,點擊具體詞類后,會彈出該類別下的所有詞性,復合詞的詞性則在最后一個語素的下方選擇詞性。

輸入模式則由用戶從鍵盤輸入,采取了“原句-系統標注結果-文本輸入框”的展示模式,用戶首先檢查輸入框內完整的系統標注結果標注,然后從鍵盤輸入對預標注的結果進行手工修改。標注界面如圖4所示。

圖4 輸入模式核心標注界面

系統標注結果以“詞∕詞性”的方式顯示,標注人員需要對文本輸入框中顯示的系統標注結果中標注錯誤的地方直接進行修改。輸入模式允許標注人員在輸入框中自由修改文本,為了避免標注人員誤輸入的數據格式錯誤,標注人員完成標注后,點擊“提交”按鈕提交標注語料,系統會采用正則表達式按照“詞∕詞性”的組合形式對輸入框中的標注內容進行檢測,若格式不正確,則系統拒絕標注結果,并給出提示提醒標注人員重新檢查標注結果。

兩種標注方式各有優勢:選擇模式無需標注人員從鍵盤輸入,便于標注人員利用鼠標快速選擇正確詞性,同時選擇框限定了數據輸入格式,從而避免了標注結果中的數據格式錯誤;而輸入模式中字與字之間的連接更為緊湊,在整體視覺上更為友好,便于標注人員快速閱讀帶有分詞結果的語料,提高理解效率。系統的運行結果反饋表明大約60%的標注人員選擇使用輸入模式,而40%的標注人員選擇使用選擇模式進行標注。

3.2 專家錯誤反饋機制

專家用戶作為標注任務中的權威用戶,其主要任務是對少量疑難語料進行標注,專家用戶標注后的語料將直接被接受為正確標注的語料。本系統借鑒主動學習[8]的優化思想,結合專家標注來進一步提高標注系統的標注質量。主動學習是通過對一些較難學習的樣本進行人工專家標注后再利用這些樣本訓練以提高模型的精度,而專家對疑難語料的標注結果可以作為正確標注的學習樣本反饋給眾包標注用戶以及預標注算法,從而提高整個標注系統的標注質量,具體如圖5所示。

圖5 專家錯誤反饋機制

眾包用戶在標注過程中遇到疑難語料可以選擇跳過,在專家用戶對該條疑難語料標注完畢后,專家的標注結果會在眾包用戶下次登錄系統時推送給跳過此條語料標注的眾包用戶。另一方面,眾包用戶在標注過程中如果有關于語料標注的疑問可以進行系統留言,之后由專家進行留言反饋,這種定向的錯誤反饋機制可以有效提高眾包用戶的標注質量。

在算法標注階段,專家標注的語料同樣可以反饋給算法以改進算法標注的準確性。以HanLP分詞為例,HanLP提供了多個離線詞典作為分詞依據,這些詞典是可以用戶自定義的。在專家標注過程中,專家可以向系統提交未登錄詞,系統自動將該詞整理成詞典格式并修改HanLP的離線詞典。系統運行結果顯示,該功能可以較好地解決未登錄詞的識別問題。

3.3 輔助標注功能

系統提供了詞性字典供標注人員在標注過程中對某個詞的詞性進行查詢。查詢結果中除了顯示查詢詞的各種可能詞性,還能顯示該詞在系統中已成功標注過的詞性以及對應的次數。如果當前標注的語料是已標注但未通過交叉檢驗的狀態,則在頁面下方還會展示出其他標注人員對該語料的標注結果。如果有多個標注結果,則系統選擇兩條不一樣的結果分別顯示,并且以標紅的方式對比顯示出標注結果中的差異之處。在詞性標注任務中絕大部分標注錯誤都集中在某幾種容易混淆的詞性上,例如:動詞s(V)和名動詞(Vn),因此標注人員往往只需要重點關注這些易混淆詞。這種標注參考方式使得標注人員可以快速定位到語料中歧義詞的所在位置,也可以在一定程度上提高標注人員的效率。

圖6 詞性字典及標注結果對比界面

為了增加標注人員之間以及與專家用戶、管理員之間的交互便利性,系統提供了留言功能。眾包用戶點擊左側菜單欄中“語料庫標注”模塊下的“留言”欄目可以進入留言列表。眾包用戶對某條語料有疑問、評論或對系統有相關建議等,都可以在留言界面發表。

為了便于語料庫開發者隨時了解語料標注情況,系統還提供了基于Elasticsearch的查詢統計模塊,系統管理員可以查看當前的總體標注趨勢與標注情況??傮w標注趨勢以折線圖的形式顯示最近七天內每日的標注總量,眾包標注情況以列表的形式展現,顯示標注人員的序號、用戶名、最后標注日期、最后一天標注的數量、最后一次標注前7天的標注量、標注總量,并按照用戶的標注總量進行倒序排序。通過該模塊系統管理員可以快速了解各標注人員的標注進度,配合趨勢折線圖還能充分了解語料的詳細標注情況。

4 結語

本文針對海量語料庫標注工作,設計并實現了基于三級混合標注的語料庫標注系統。語料庫開發者可以利用該系統快速獲得高質量的標注語料,系統主要優點體現在以下幾方面:①算法預標注、眾包標注和專家標注的三級標注保證了系統標注的效率和準確率。②語料狀態三元組能準確描述語料在系統中的狀態并為語料分發和流轉提供依據。③用戶自定義參數的設定使得系統可以適應不同的標注任務。④專家錯誤反饋機制進一步提高了系統標注質量。⑤兩種人工標注界面為用戶提供了偏好選擇,用戶使用界面友好。

猜你喜歡
語料語料庫專家
致謝審稿專家
淺談視頻語料在對外漢語教學中的運用
基于語料庫翻譯學的廣告翻譯平行語料庫問題研究
可比語料庫構建與可比度計算研究綜述
運用語料庫輔助高中英語寫作
如何使用第二外語學習者語料
請叫我專家
專家面對面
語料庫與譯者培養探索
英語教學中真實語料的運用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合