馬強(qiáng),路陽,李菲
(黑龍江八一農(nóng)墾大學(xué)電氣與信息學(xué)院,大慶 163319)
新詞又稱未登錄詞,是指未包含在分詞詞典中的詞語。食品安全信息來源廣泛多樣,包含大量新詞,這些信息是了解、監(jiān)管、以及應(yīng)對食品安全突發(fā)事件的重要依據(jù)[1],信息的理解對于分析、挖掘和應(yīng)用至關(guān)重要,如事件檢測[2]、輿情分析[3]等。新詞嚴(yán)重影響分詞準(zhǔn)確率,因此對食品安全文本中的新詞進(jìn)行識別是食品安全信息處理的迫切需求。
當(dāng)前,分詞技術(shù)在通用文本處理中已經(jīng)取得良好的效果[4],基于詞典的方法通過結(jié)合規(guī)則消除歧義切分[5-6],此方法缺點(diǎn)是需要領(lǐng)域詞典,識別未登錄詞是該方法面臨的主要問題?;诮y(tǒng)計機(jī)器學(xué)習(xí)的方法將分詞視為序列標(biāo)注問題[7],方法有隱馬模型、最大熵和條件隨機(jī)場[8],該類方法能平等地看待詞典詞和未登錄詞[9],缺點(diǎn)是受訓(xùn)練語料限制[10]。基于深度學(xué)習(xí)的方法多采用字標(biāo)注的方式,如LSTM[11],分詞效果進(jìn)一步提升[12],缺點(diǎn)是需要大量的標(biāo)注語料。在食品安全文本處理中,領(lǐng)域特殊性使得分詞無法達(dá)到預(yù)期的效果,如消費(fèi)者的評價和投訴信息用詞不受約束,依個人喜好而定;媒體、消費(fèi)者組織的報道中,包含食品名稱諧音詞、食品檢測參數(shù)的外文轉(zhuǎn)義詞、縮略詞等。針對食品安全領(lǐng)域文本處理需求,快速建立高準(zhǔn)確率的領(lǐng)域分詞器是主要內(nèi)容。
通過相關(guān)研究工作的比較,提高分詞準(zhǔn)確率最有效的策略是在現(xiàn)有分詞器中,集成領(lǐng)域詞典。與構(gòu)建語料相比,詞典的構(gòu)建更為容易,其中關(guān)鍵的問題是識別新詞。新詞識別通常采用將統(tǒng)計與規(guī)則相結(jié)合的方法[13]?;バ畔ⅲ≒ointwise Mutual Information,PMI)是衡量詞串是否成詞常用的統(tǒng)計量,它反映了字與字之間的結(jié)合緊密程度[14],該方法缺點(diǎn)是可能過高估計總是相鄰出現(xiàn)但詞頻較低的字串間的結(jié)合強(qiáng)度[15]。文獻(xiàn)[16]改進(jìn)互信息方法識別web 中的新詞。文獻(xiàn)[17]向PMI 方法中引入鄰接熵,解決垃圾詞串的過濾問題。文獻(xiàn)[18]采用支持向量機(jī)對候選詞語進(jìn)行過濾。文獻(xiàn)[19]以信息量加入人工規(guī)則進(jìn)行新詞發(fā)現(xiàn)。由于食品安全信息文本來源廣泛、內(nèi)容多樣以及PMI 方法需要確定閾值等缺陷,用于新詞識別的效果并不理想。在PMI 方法的基礎(chǔ)上,引入BP 神經(jīng)網(wǎng)絡(luò)模型,挖掘詞匯可以利用的潛在特征,過濾垃圾詞串以提高準(zhǔn)確率。將提取的新詞以用戶自定義詞典的形式加入現(xiàn)有的分詞系統(tǒng)中,提升食品安全信息文本分詞效果。
快速構(gòu)建食品安全領(lǐng)域信息分詞系統(tǒng)的有效策略是改進(jìn)現(xiàn)有分詞系統(tǒng),向現(xiàn)有的分詞系統(tǒng)添加自定義詞典。自定義詞典中詞語的質(zhì)量與規(guī)模,對分詞系統(tǒng)的準(zhǔn)確率有很大影響。提升食品安全文本分詞系統(tǒng)性能的關(guān)鍵在于全面和準(zhǔn)確提取食品安全信息文本中的特有詞語,主要探討食品安全信息中新詞的識別,并將識別的新詞加入到分詞系統(tǒng)中,以提升文本分詞效果??傮w技術(shù)框架如圖1 所示。
圖1 總體框架Fig.1 framework
食品安全語料采集是針對食品安全信息數(shù)據(jù)源開發(fā)爬蟲器,從數(shù)據(jù)源中爬取文本,形成原始粗語料。新詞識別過程是應(yīng)用互信息新詞提取方法,從這些文本中提取候選新詞及統(tǒng)計量。利用所提取的候選新詞、統(tǒng)計量特征及人工標(biāo)注的部分?jǐn)?shù)據(jù),得到新詞識別訓(xùn)練數(shù)據(jù),使用BP 神經(jīng)網(wǎng)絡(luò)建模,利用BP 神經(jīng)網(wǎng)絡(luò)新詞識別模型過濾候選詞中的垃圾串,得到食品安全新詞。將新詞加入到用戶詞典中,得到新的詞典系統(tǒng)。應(yīng)用新的詞典集成到支持自定義詞典的分詞工具中優(yōu)化分詞器。最后輸入待切分文本,利用優(yōu)化后的分詞系統(tǒng)實現(xiàn)對輸入文本的切分。
互信息是信息論中的概念,用來計算兩個事件的相關(guān)度,兩個事件AB 的互信息計算見公式(1)。將文本處理中的兩個詞串AB 看作是互信中的事件,便可以計算詞串間的互信息,用于判斷字符間的凝聚性。它體現(xiàn)了漢字之間結(jié)合的密切程度,當(dāng)某些字符結(jié)合的緊密程度大于某一給定的閾值時,認(rèn)為這些字符組成的字串可能構(gòu)成一個詞。
公式中,P(AB)為字串AB 在語料中出現(xiàn)的概率,P(A)為字(或字串)A 在語料中出現(xiàn)的概率,P(B)為字(或字串)B 在語料中出現(xiàn)的概率。例如,當(dāng)字串AB 長度length(AB)=2,A 代表前一個字,B 代表后一個字;當(dāng)字串AB 長度length(AB)=3 時,A 代表前1(或前2)個字,B 代表后2(或后1)個字;當(dāng)字串AB長度length(AB)≥3 時依此類推。
互信息具有這樣的性質(zhì):如果PMI(A,B)>0,有P(A,B)>P(A)P(B),表示AB 一起出現(xiàn)的概率大于A 和B 單獨(dú)出現(xiàn)的概率,說明AB 更有可能成為一個詞。隨著PMI(A,B)值的增大,AB 間相關(guān)度更高,成詞可能性更大。反之,表明AB 相關(guān)度低,結(jié)合成詞可能性小。
利用互信息方法提取新詞的基本流程是:首先對食品安全語料進(jìn)行預(yù)處理,預(yù)處理后得到語句片段,每個語句均由漢字字符組成。然后對所有語句片段統(tǒng)計互信息計算所需要的統(tǒng)計量,包括單字A/B的頻次、字串AB 的頻次、所有單字的總頻次、所有字串的總頻次。在統(tǒng)計量的基礎(chǔ)上計算單字、字串的概率。最后將計算值帶入互信息公式中,得到每個字串的互信息值。根據(jù)互信息值,對字串進(jìn)行過濾,將大于0 的字串作為新詞保存到字典中?;诨バ畔⒌氖称钒踩略~識別的詳細(xì)描述如算法表1 所述。
表1 基于互信息的新詞特征提取Table 1 Feature extraction of new words based on mutual information
在實際處理中發(fā)現(xiàn),單純依據(jù)閾值大小得到的新詞集合中含有很多垃圾字串。針對新詞提取的精度需要對互信息模型進(jìn)行改進(jìn)。
互信息模型識別新詞時,依據(jù)字串互信息閾值大小對字串進(jìn)行過濾,在閾值為0 時,得到的新詞集合中存在很多垃圾字串,因此需要提高互信息新詞識別的純度。在互信息計算時得到一些統(tǒng)計量,包括單字頻次、概率,字串頻次、概率,以及字串互信息等。這些統(tǒng)計量和候選新詞是否被最終判定為新詞有很大關(guān)系,因此可以在互信息模型統(tǒng)計量特征的基礎(chǔ)上對得到的候選新詞集合做二分類。常用的分類算法有邏輯回歸、SVM、決策樹、反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)等。BP 神經(jīng)網(wǎng)絡(luò)模型構(gòu)造簡單,在分類問題中有廣泛的應(yīng)用[20],是信息處理、數(shù)據(jù)分析、數(shù)據(jù)挖掘的常用方法。BP 網(wǎng)絡(luò)模型通過梯度下降法獲得代價函數(shù)的最小值,具有任意復(fù)雜的模式分類能力和優(yōu)良的多維函數(shù)映射能力[21],可以完成分類任務(wù)。在互信息特征提取的基礎(chǔ)上,融入BP 神經(jīng)網(wǎng)絡(luò)模型,過濾互信息得到的候選新詞中的垃圾串,提高新詞發(fā)現(xiàn)的準(zhǔn)確率。
BP 神經(jīng)網(wǎng)絡(luò)屬于有監(jiān)督學(xué)習(xí)算法,需要構(gòu)造訓(xùn)練數(shù)據(jù)。將互信息模型得到的新詞作為候選詞語,統(tǒng)計得到每個候選詞語相關(guān)的字頻、詞頻以及PMI 值等信息作為特征,所選特征見表2。
表2 BP 神經(jīng)網(wǎng)絡(luò)新詞識別特征Table 2 New words recognition features of BP neural network
對部分候選詞語是否成詞進(jìn)行標(biāo)注,連同其統(tǒng)計量特征作為神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練樣本。BP 網(wǎng)絡(luò)模型的訓(xùn)練中訓(xùn)練集越大,訓(xùn)練所得模型泛化能力越強(qiáng),識別效果越好。但訓(xùn)練集越大,人工標(biāo)注的成本也越高。因此采用逐步擴(kuò)大訓(xùn)練集規(guī)模的方法,逐步添加人工標(biāo)注的新詞訓(xùn)練樣本,以便得到滿足條件的最小訓(xùn)練集。當(dāng)訓(xùn)練模型的新詞識別準(zhǔn)確率波動基本不變時,認(rèn)為趨于穩(wěn)定,用達(dá)到平衡點(diǎn)的樣本量作為訓(xùn)練集大小來抽取最終的訓(xùn)練樣本,訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的參數(shù)。融入BP 神經(jīng)網(wǎng)絡(luò)模型的新詞發(fā)現(xiàn)流程如圖2 所示。
圖2 基于BP 神經(jīng)網(wǎng)絡(luò)的新詞識別框架Fig.2 New word recognition process based on BP neural network
首先根據(jù)算法1 中的互信息特征提取方法提取輸入語料中的新詞。這些新詞集合中包含垃圾詞串。然后利用BP 神經(jīng)網(wǎng)絡(luò)過濾新詞集合中的垃圾串,將每個詞語都作為候選新詞,記錄每個候選新詞的統(tǒng)計特征以及是否成詞的部分人工標(biāo)注結(jié)果,作為BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練集。調(diào)整訓(xùn)練集規(guī)模,當(dāng)模型識別準(zhǔn)確率趨于穩(wěn)定時不再增加訓(xùn)練數(shù)據(jù)。訓(xùn)練得到BP 神經(jīng)網(wǎng)絡(luò)模型。最后利用BP 神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行候選詞分類,得到新的新詞集合。具體算法描述如算法表3 所述。
表3 基于BP 神經(jīng)網(wǎng)絡(luò)的新詞識別Table 3 New word recognition based on BP neural network
續(xù)表3 基于BP 神經(jīng)網(wǎng)絡(luò)的新詞識別Continued table 3 New word recognition based on BP neural network
研究主要采集食品新聞報道中的資訊評析作為實驗數(shù)據(jù),同時也收集相應(yīng)的食品抽檢信息、食品違法違規(guī)案例信息。這些信息和消費(fèi)者息息相關(guān),包含了食品的制作、包裝、食用注意、營養(yǎng)構(gòu)成、添加劑、保質(zhì)變化等重要有價值信息。
(1)實驗數(shù)據(jù)采集自互聯(lián)網(wǎng)食品監(jiān)管網(wǎng)站、《中國食品安全報》、《中國食品報》等媒體2017 年至2019 年的相關(guān)報道信息1 500 份。
(2)停用詞典:選自哈爾濱工業(yè)大學(xué)停用詞表。
(3)分詞詞典:選自結(jié)巴分詞詞典。
99%以上的詞語長度都在5 字及以內(nèi),在食品安全文本上發(fā)現(xiàn)5 字以上的新詞也較為常見,為了盡可能識別更多新詞,在實驗中設(shè)定最大詞長為6。
(1)劃分實驗數(shù)據(jù)。將1 500 份食品安全信息文本中的1 200 份用于新詞識別統(tǒng)計量的提取及BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,剩余300 份用于新詞識別效果評價。
(2)使用算法1 互信息新詞識別提取候選新詞,統(tǒng)計候選新詞的詞特征。
(3)建立神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)。確定訓(xùn)練集規(guī)模后,設(shè)計神經(jīng)網(wǎng)絡(luò)模型,根據(jù)輸入到網(wǎng)絡(luò)的特征個數(shù),BP 神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點(diǎn)個數(shù)為10,第一隱含層個數(shù)為8,第二隱含層個數(shù)為5,輸出層節(jié)點(diǎn)為2。
(4)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。將步驟(2)中得到的新詞集合的詞語作為候選詞語,將統(tǒng)計量(字頻、詞頻、PMI 值等)特征作為自變量進(jìn)行建模,訓(xùn)練集的大小從200 條開始,每次以100 條遞增,并用隨機(jī)抽取的200 條標(biāo)注數(shù)據(jù)作為校驗集,當(dāng)測試結(jié)果準(zhǔn)確率趨于平衡時停止訓(xùn)練。
(5)使用神經(jīng)網(wǎng)絡(luò)預(yù)測。將新詞集合(除訓(xùn)練用的詞語外)分別輸入模型,基于其中的統(tǒng)計特征,進(jìn)行進(jìn)一步成詞判斷,得到新的新詞集合。
(6)評價新詞識別效果。
以準(zhǔn)確率(Accuracy)、精準(zhǔn)率(Precision)、召回率(Recall)和F1 值4 個指標(biāo)衡量新詞發(fā)現(xiàn)方法的性能。不同規(guī)模訓(xùn)練集情況下,新詞識別結(jié)果如表4、圖3 所示。在互信息模型提取字串的基礎(chǔ)上,利用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行過濾,新詞預(yù)測效果有很大改善,其準(zhǔn)確率達(dá)80.0%,召回率達(dá)80.1%。
表4 不同訓(xùn)練集下BP 神經(jīng)網(wǎng)絡(luò)新詞識別統(tǒng)計Table 4 New words recognition statistics of BP neural network under different training sets
圖3 不同訓(xùn)練集下BP 神經(jīng)網(wǎng)絡(luò)新詞識別能力Fig.3 New words recognition ability of BP neural network under different training sets
BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中損失變化,如圖4 所示。
圖4 BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測損失Fig.4 BP neural network training and prediction loss
將BP 網(wǎng)絡(luò)模型對測試集進(jìn)行預(yù)測,將預(yù)測的新詞和相應(yīng)的標(biāo)記值導(dǎo)入進(jìn)行ROC 分析,得到BP 網(wǎng)絡(luò)新詞識別模型的ROC 曲線,如圖5 所示。ROC 曲線中AUC 值分別為0.816。所使用的特征和方法對新詞識別具有明顯的識別能力。
圖5 BP 網(wǎng)絡(luò)新詞識別模型的ROC 曲線Fig.5 ROC curve of BP network new word recognition model
部分新詞提取情況見表5。
表5 提取的部分新詞Table 5 Examples of new words
從表5 可以看出,BP 神經(jīng)網(wǎng)絡(luò)模型確實能過濾垃圾串并提取一些不太常見且普通詞典中不存在的詞語,如一些專業(yè)詞語,豐富了食品安全信息分詞詞典。
依據(jù)表2 所選特征,分別對比邏輯回歸(logistics regression,LR)、決策樹,新詞識別準(zhǔn)確率見表6。
表6 不同算法新詞識別對比Table 6 Comparison of new word recognition based on different algorithms
在選定的特征下,采用過濾方法對比單獨(dú)使用互信息提取新詞可以提高準(zhǔn)確度。在不同的過濾方法下,BP 方法得到的新詞準(zhǔn)確率最高,同時我們注意到LR 和決策樹C4.5 方法在執(zhí)行時效率更高。算法在不同的特征下結(jié)果可能不同,對于不同特征下垃圾字串的過濾還需進(jìn)一步研究。
主要研究食品安全領(lǐng)域新詞的識別,以期提高分詞系統(tǒng)對該領(lǐng)域文本處理的準(zhǔn)確性。由于食品安全領(lǐng)域中沒有成熟的標(biāo)注語料,所以無法使用有監(jiān)督的方法,如統(tǒng)計機(jī)器學(xué)習(xí)方法和深度神經(jīng)網(wǎng)絡(luò)方法直接訓(xùn)練得到分詞模型。同時,人工標(biāo)注食品安全語料耗時費(fèi)力。采用基于互信息提取的候選詞統(tǒng)計特征和BP 神經(jīng)網(wǎng)絡(luò)方法進(jìn)行新詞識別和過濾,實驗結(jié)果表明,采用的方法對候選新詞進(jìn)行了有效過濾,新詞識別效果明顯,可以取得新詞識別準(zhǔn)確率(0.806)。我們標(biāo)記了部分候選詞是否是新詞,作為實驗的樣本,測試樣本結(jié)果與標(biāo)記的結(jié)果較為接近,證明了標(biāo)記的樣本數(shù)據(jù)具有可靠性。盡管本方法可以提高食品安全文本中新詞提取的準(zhǔn)確率和召回率,但仍無法準(zhǔn)確提取全部新詞,因此還存在很大的提升。在與其他垃圾串過濾的方法對比中,以頻次、概率、長度、互信息等主要特征的BP 網(wǎng)絡(luò)方法過濾方法具有最高的準(zhǔn)確率,關(guān)于特征的選取以及和其他方法的結(jié)合使用還需進(jìn)一步驗證。我們將在此基礎(chǔ)上,進(jìn)一步提高新詞識別的精確度,利用自學(xué)習(xí)方法逐漸擴(kuò)大面向食品安全的文本語料,為有監(jiān)督方法提供可靠的數(shù)據(jù)。