?

?;奉I域專業分詞庫構建與應用研究*

2022-06-16 02:05
安全、健康和環境 2022年6期
關鍵詞:詞表詞庫詞條

蔣 瀚

(中石化安全工程研究院有限公司,山東青島 266104)

0 前言

自然語言處理(NLP)是計算機科學領域與人工智能領域的重要研究方向之一,主要圍繞計算機與人之間使用人類語言進行有效通信的理論和方法展開研究[1],可實現對文檔數據的深度挖掘和高效利用[2,3]。分詞庫作為自然語言分析處理技術的基礎,其設計的合理性將影響整個分詞系統的性能[4]。其中,專業分詞庫涵蓋了該專業領域的專有名詞詞匯、詞性、定義、同義詞等信息,以其對專業領域較強的適應性,能夠實現檢索概念在數據庫中最大限度的匹配,為專業領域文本挖掘與分析、行業領域知識圖譜的建設[5,6]提供重要的大數據資源。

目前,醫學、電氣等領域已有專業分詞庫構建的研究[7,8],主要通過對現有專業數據庫進行字段篩選與組合實現,而針對?;钒踩I域的分詞庫研究尚無有效文獻支撐。因此,需要從以下角度開展研究:①對所收集到的非結構化文本數據進行統一的預處理,從而提高分詞準確率;②?;钒踩珜I術語具有多樣性,例如組織機構全稱和簡稱、化學品學名和俗名等,亟需針對性地設計詞條結構;③設計合理的索引方式對詞條進行組織,以適應現有詞匯含義的變化及新專業詞匯的加入[7],同時提高詞條在專業領域內開展分析的針對性。

基于上述分析,以?;奉I域文本資料為基礎,采用結合機器學習分詞結果與人工判讀的方法進行新詞提取,開展分詞庫詞條和詞表構建,研究詞表、字數、詞條三級樹狀結構的索引與編碼方法,為面向?;钒踩I域的自然語言處理技術奠定基礎。

1 ?;穼I語料提取

1.1 文本數據采集及預處理

作為專業詞庫的來源,文本數據采集的廣泛性、全面性至關重要。?;穼I的文本數據主要有兩個來源:

a) 從?;奉I域相關信息系統中獲取的文本數據,經收集整理、爬蟲程序爬取互聯網資源、文本批量去重及人工篩查4個處理環節,形成了結構化的字典表信息,能夠直接作為詞條加入到詞庫中,構成詞庫的基礎。

b) 從?;菲髽I登記信息、?;肥鹿收{查報告/事故詳情等資源中獲取非結構化的文檔數據,需要通過文本預處理以挖掘專業詞匯。對文本的預處理包括以下步驟:①將收集到的PDF、doc以及docx文檔統一轉換為UTF-8編碼的文本文檔,以便于計算機程序識別和分析;②去除文本長度小于所設置閾值的文檔;③去除標點符號與“了”、“之”、“也”等漢語中沒有實際含義的停用詞,以達到減少噪聲的效果。

1.2 基于機器學習算法分詞結果的新詞提取

傳統的人工構建詞庫方法工作量大、主觀性強,而單純采用計算機算法則難以保證詞庫的專業性和可靠性[9],因此采取以機器學習算法為主進行文本分詞、輔以人工篩選的方式進行?;穼I語料提取。

專業詞匯的獲取流程主要有2種。

a) 直接從其他系統的結構化表單數據中提取?;钒踩嚓P專業詞匯,如職業病、機械傷害、高空墜物等。所獲取的專業詞匯經添加詞性項、初始化詞頻項后,可直接構成詞條。

b) 應用THULAC[10]等預訓練分詞算法,將預處理后的文檔數據進行分詞,產生分詞詞匯,再由人工篩選出?;废嚓P專業詞匯加入詞庫中。為減少分詞詞匯與已有專業詞匯的重復錄入,可將已有的專業詞匯作為用戶附加詞典加入分詞工具中輔助分詞。

2 ?;穼I詞庫架構設計與實現

詞庫的架構設計主要包括詞條分類方法與組織形式的制定、各詞表及對應詞條索引模式研發、詞庫中詞表調用機制的開發3方面內容。通過建立領域覆蓋完善、分類方式合理、索引效率較高、調用邏輯正確的詞庫,能夠有針對性的組合詞表形成自定義詞典用于文本分析,提升靈活性及基礎數據的價值。

2.1 詞庫結構設計

詞庫主要由詞表與詞條構成,結構如圖1所示。詞表將詞庫劃分為代表不同實體含義的若干類別。詞表由若干詞條構成,并以其所包含的詞條的實體含義命名。

圖1 專業詞庫的結構

詞條為詞庫的最小數據單元,包括專業詞、同義詞、詞性和詞頻4個屬性。其中,專業詞項即與?;钒踩嚓P的詞匯本身,同義詞項包括專業詞的簡稱及同義詞匯,詞頻項統計基于本專業詞庫開發的自然語言處理應用所識別的詞匯出現次數,詞性項為根據專業詞的特點劃分的詞類。

將收集的詞條按其在?;钒踩I域中所具有的實體含義進行分類。專業詞庫包含的詞表為固定裝置名稱、機關處室全/簡稱、化工企業板塊、人員公職、員工名稱、中國行政區劃、組織機構全/簡稱、事故類型等31類。

對形成的詞表進行編號,然后對各個詞表中的專業詞匯按字數進行排序,形成詞庫標識樹如圖2所示。標識樹的根結點不參與特征向量的構成,可任意定義。詞庫中所有的詞表作為標識樹的第一層節點,詞匯的字數作為標識樹的第二層節點,所有詞匯作為葉子節點。

圖2 詞庫標識樹

2.2 詞庫特征向量索引構建

詞庫的特征向量索引由詞庫標識樹得來。由標識樹可構建詞庫的特征向量矩陣W,記為:

W=k*(k+m*n+m)

(1)

式中:k——詞庫中全部詞條的數量;

m——詞庫中詞表的數量;

n——詞庫中最長詞匯的字數。

構建詞條特征向量的策略為,對于某葉子節點,逐層向上搜索至根節點,將該葉子節點與經過的非葉子節點在向量對應列的值均寫為1,其余列的值全部寫為0,即可構成該詞條的特征向量。按同樣的方式,可將詞庫中所有詞條的特征向量求出。將求得的特征向量堆積,每個詞條的特征向量占一行,即可構成詞庫的特征向量矩陣W。

由于詞條數量龐大,通過上述方法生成的特征向量維數(行*列數)很高,因此需要建立壓縮與還原機制加快存取過程。對于特征向量為Aw(m1,m2,m3…)的詞條w,壓縮后詞條的索引值Iw(n1,n2,n3)可由公式(2)得出:

(2)

例如,對于特征向量為M的詞條a,由根節點出發搜索至a所經過的節點均已在a的特征向量中寫為1,其余值均為0,如表1所示。詞條a的索引值的含義則為,從左開始特征向量中所有非0數值的數位,使用公式(2)可求得Ia為(1,2,5)。反之,根據索引值的含義,可快速還原出詞條的特征向量。

表1 詞條a的特征向量M

根據建立的詞庫標識樹,可以生成各個專業詞條的特征向量,如圖3所示。依據特征向量矩陣及計算公式,可以計算出詞條的索引值分別為:爆炸(6,8,9),著火(6,8,10),泄漏(6,8,11),高空墜物(6,13,14),交通事故(6,13,15),自然災害(6,13,16),非計劃停工(6,17,18)。

圖3 專業詞條的特征向量

3 分詞庫應用與效果分析

3.1 應用jieba模型結合分詞庫建立分詞模型

jieba是一個中文分詞工具,其整體工作流程為:首先,將原始詞典與用戶自定義詞典結合,生成Trie樹,同時將每個詞的出現次數轉換為頻率[11]。Trie樹是一種前綴樹結構,根據詞語中漢字出現的順序進行索引,其優勢是檢索速度較快。其次,將待分詞的句子置于Trie樹中查詢,生成所有可能的句子切分,并采用有向無環圖(DAG)記錄句子中詞語的開始位置和所有可能的結束位置。再次,確定句子中切分出的詞語的出現頻率,對于詞典中已有記錄的詞語,則采用詞典中最小的頻率值作為該詞的頻率。最后,采用動態規劃,對句子從右往左反向計算最大概率得到最大概率路徑,從而得到最大概率的切分組合。

對于未記錄在詞典中的詞,采用基于漢字成詞能力的隱馬爾科夫(HMM)模型[12]進行新詞發現。HMM屬于生成模型的有向概率圖模型,通過聯合概率建模:

(3)

式中:t——當前時刻;

S——狀態序列;

O——觀測序列。

HMM的解碼問題為:

(4)

(5)

則用于HMM解碼問題的Viterbi算法遞推式為:

(6)

jieba分詞模型將每一個字表示為B/M/E/S,分別代表出現在詞頭、詞中、詞尾以及單字成詞。將B/M/E/S作為HMM的隱藏狀態,連續的各個單字作為觀測狀態,其任務即為利用觀測狀態預測隱藏狀態,采用Viterbi算法對HMM模型進行求解。

Viterbi動態規劃算法的基本思想是,如果最佳路徑經過點ε,則起始點到ε的路徑一定是最佳路徑[13]。假設從起始點到結束點經過n個時刻,整個過程可以劃分為k個狀態,則最佳路徑一定經過起始點到時刻n中k個狀態最短路徑的點。則t時刻隱藏狀態i所有可能的狀態轉移路徑i1到i2的狀態最大值為:

δt(i)=maxxi1,i2,…,it-1

P(it=i1,i2,…,it-1,ot,ot-1,…,o1|(A,B,π))

(7)

式中:A——HMM的轉移概率矩陣;

B——HMM的觀測概率矩陣;

π——HMM的初始狀態概率向量。

根據公式(7)可由初始時刻依次向后計算出每一個時刻的最大概率隱藏狀態,進而得到使最終時刻聯合概率最大的路徑。

3.2 分詞結果及分析

結合來源于信息系統的結構化文本數據及專業文檔的非結構化文本數據兩方面數據,?;穼I分詞庫總計收錄161 262個?;钒踩珜I詞匯,根據其實體含義被分為31個詞表。詞庫詞表的統計明細如表2所示。

表2 詞庫詞匯數量統計明細

基于目前形成的專業分詞庫,抽取其中的組織機構全/簡稱、危險化學品目錄、事故簡報等詞條組合形成用戶自定義詞典,導入jieba模型對預留的驗證集數據進行分詞。在未加入專業分詞庫時,如聚氯乙烯、氯乙烯氣柜、危險化學品、危險化學品重大危險源、企業名稱等詞匯均無法被正確切分。在加入專業分詞庫后,除部分復合型詞匯,例如危險化學品重大危險源等,其他專業詞匯均可被正確切分??芍?,專業詞庫的加入能夠有效提升專業領域文本的分詞效果。

為進一步評估文本分詞效果,建立定量評估指標包括準確率P、召回率R和F值。其中,P為算法正確識別的詞數與分詞得到的總詞數的比值,R為算法正確識別的詞數與實際詞數的比值,F值為準確率和召回率的調和平均值,其計算公式如下:

(8)

假設人工分詞的結果完全正確,將未使用專業詞庫的分詞結果、導入專業詞庫的分詞結果分別與人工分詞的結果相比較,引入混淆矩陣分別計算準確率P、召回率R及F值,分詞效果的評估結果如表3所示。與未加入專業詞庫的分詞結果相比,導入專業詞庫能夠使得分詞的準確率P提升23%,召回率R提升33.9%,F值提升29%。

表3 分詞結果的混淆矩陣評估結果

4 結論

通過整理獲取大量的?;肺谋緮祿?,采用基于機器學習分詞結果與人工篩選整理相結合的方式提取專業語料,設計?;钒踩I域專業詞庫的架構、內容和組織方式,形成了收錄31個詞表約16萬詞的專業分詞庫,同時構建了?;钒踩I域專業詞庫的詞向量計算與壓縮方式。實驗驗證表明,所構建分詞庫能夠提升?;奉I域文本的分詞效果,準確率、召回率與F值分別達到80.2%、79.7%及79.9%。雖然初步構建了?;钒踩I域內專業詞庫,但從應用效果來看,詞庫的詞匯數量、覆蓋范圍仍有提升空間。詞庫的建設是一個長期積累的過程,后續研究中將通過文本訓練數據的豐富、詞庫應用過程中的錯誤反饋收集來不斷進行詞庫的更新和完善。

猜你喜歡
詞表詞庫詞條
面向分級閱讀的分級詞表研制*
A Chinese-English List of the Sports Programmes in Winter Olympics 冬奧會項目名稱漢英對照詞表
一“吃”多用
利用簡單的公式快速分隔中英文詞條
輸入法詞庫取證比較研究
輸入法詞庫乾坤大挪移
基于語料庫的詞表創建原則及方法研究
常用聯綿詞表
將用戶詞庫快速導入搜狗五筆詞庫
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合