陳志鋒
(福州外語外貿學院 大數據學院,福建 福州 350202)
傳統的自動分詞系統通常采用語言庫中現有的語言資源來對詞語進行加工整合,這就導致系統對詞語的切分過程存在一定的局限性,會造成詞語切分速度較慢,分詞耗時較長的問題[1]。為獲得更精確的自動分詞切分結果,就必須花費更多的時間去進行語言資源處理。網絡檢索自動分詞系統在實際生活應用中還存在一些不足,例如易受到網絡環境的影響,導致分詞速度慢、召回率低的問題,不能完全滿足實際應用的檢索需求以及處理研究自然語言的需求[2]。因此,在實際生產生活中,為了保障切分速度,大部分檢索網站不得不作出了讓步,降低部分準確度,采取比較簡單的切分算法。
針對上述問題,相關學者對網絡檢索自動分詞系統作出了研究,陳秋瑞等[3]提出基于AlphaGo算法的網絡檢索自動分詞系統,引入AlphaGo思想,將文本檢測過程分解為挑選和判別兩個階段,計算信息值并將其與閾值進行比較,標記負面文本,完成自動分詞;王星等[4]提出基于膨脹卷積神經網絡的自動分詞方法,分析文本信息,通過卷積神經網絡提取文本輸入特征,加入殘差結構進行迭代訓練,完成語義理解及自動分詞。基于已有的網絡檢索數據集來預處理網絡檢索詞匯,首先,要在網絡檢索數據集中建立網絡索引,改進網絡檢索文本處理方法,得到網絡檢索文本的分類結果;其次,應從網絡檢索分析器中挖掘出新的詞匯并添加分詞標簽,利用網絡檢索引擎的搜索查詢語句定義自動分詞主題,將搜索后的網絡檢索結果置入該主題中。
上述方法雖具有一定的有效性,但系統的切分準確度不高,且局限于傳統檢索模式,檢索靈活性較差。因此,在前人研究基礎上,本文研究設計一種基于數據挖掘的網絡檢索自動分詞系統。通過設計網絡檢索分析器及網絡檢索自動分詞器,實現網絡檢索自動分詞系統架構設計;通過挖掘網絡檢索詞典中的詞頻數據,對網絡檢索詞數進行比較,利用分詞主題查詢網絡檢索主題,并將搜索后的網絡檢索結果與主題相匹配,以完成網絡檢索詞匯的分詞處理。
本文所設計網絡檢索自動分詞系統以網絡檢索分析器及網絡檢索自動分詞器為核心,具有強大的歧義處理能力,在應用時,不會過分依賴網絡檢索語料庫的分詞訓練[5]。網絡檢索自動分詞系統的整體架構如圖1所示。

圖1 網絡檢索自動分詞系統架構
如圖1所示,網絡檢索自動分詞系統架構主要由網絡檢索分析器及網絡檢索自動分詞器組成。網絡檢索分析器以語料庫為核心,通過網絡檢索規則庫實現網絡檢索分詞的歧義處理;網絡檢索自動分詞器負責對待檢索文本進行預處理,識別未登錄分詞,最終輸出網絡檢索自動分詞結果。
1.網絡檢索分析器
網絡檢索分析器能夠將搜索詞匯統一整合到詞匯庫中,利用引擎將分詞主題引入分析器,分別設計語言分析器和語言過濾器[6]。其中,語言分析器主要用來集合所有的輸入字符串,將其轉換成一系列的集合;語言過濾器主要用于過濾停用詞,并進行詞干分析。網絡檢索分析器的功能結構如圖2所示。

圖2 網絡檢索分析器結構
網絡檢索分析器以字、詞和句為索引,設計簡單的中英文停用詞過濾器,同時還增加了日語、韓語、德語等多種語言分析器[7]。檢索分析器在接收到用戶的查詢命令后,運用其內部查詢結構過濾相關停用詞,標記查詢短語,完成整個分析過程。網絡檢索分析器的內部結構如圖3所示。

圖3 網絡檢索分析器內部結構
為了提高網絡檢索自動分詞的成功率,需要將網絡檢索詞匯添加到分析器中,確定檢索詞匯的類別之后,才能確保分詞器順利完成分詞工作。
2.網絡檢索自動分詞器
網絡檢索自動分詞器需對相關索引數據進行分詞處理和停用詞過濾[8]。但是,一般情況下,分詞器對于中文的分詞處理性能遠遠沒有對于英文的分詞處理性能好,會造成對不同語言分詞精確度和準確性偏低的情況,所以需要根據網絡檢索詞匯的類別,設計自定義的自動分詞器,使其作為組件集成到系統中。網絡檢索自動分詞器的工作原理如圖4所示。

圖4 網絡檢索自動分詞器工作原理
網絡檢索自動分詞器以檢索字段為基礎,由多個字段組成文本,包含不同類型的數據。在完成相應的文件配置后,分詞器會根據不同的詞匯類型選擇相對應的處理方法。如本文所使用的數據,就包含了題目、引言、正文等字段,不同的字段對應著不同的數據模式,分詞器會根據這些不同的字段作出相對應的檢索。
由于網絡檢索的復雜性,難以通過少量的詞匯數據來涵蓋多數語法結構,這大大降低了網絡檢索自動分詞的準確率。因此,通過挖掘網絡檢索詞典中的詞頻數據[9],來改進傳統的分詞算法,其具體步驟如下:
1)比較網絡檢索詞數。若網絡檢索詞個數不同,則采用個數較少的網絡檢索詞作為結果,否則,直接轉到步驟2)。網絡檢索詞數依據式(1)確定。
U={u1,…,un}
(1)
其中un為網絡檢索詞匯量。
2)比較未登錄網絡檢索詞個數。若未登錄網絡檢索詞個數不同,選擇個數較少的未登錄網絡檢索詞作為結果,否則轉至步驟3),其計算公式如式(2)所示。
(2)
其中uw為未登錄網絡檢索詞匯個數。
3)在上述2次結果中,先分別取1個詞頻并比較詞頻較小的詞,若詞頻差值不小于某一閾值,選取最小詞頻的網絡檢索詞作為結果;若詞頻差值小于閾值,則選擇詞頻總和作為網絡檢索詞結果,詞頻差值計算公式如下:
(3)
其中y為詞頻選取閾值,unmin為最小詞頻的網絡檢索詞,unz為詞頻總和。
4)在網絡檢索詞匯庫中查找并挖掘檢索詞作為分詞主題,得到分詞結果,如式(4)所示。
Uj={unmin,unz}
(4)
改進后的網絡檢索自動分詞算法流程如圖5所示。

圖5 基于數據挖掘的網絡檢索自動分詞算法流程
由圖5可知,系統先在詞匯數據庫中挖掘網絡檢索詞匯的數據,再利用分詞主題來查詢網絡檢索主題,最后將搜索后的網絡檢索結果與主題相匹配[10-12],以完成網絡檢索詞匯的分詞處理。
為驗證本文所設計基于數據挖掘的網絡檢索自動分詞系統的有效性,設計對比實驗。采用文獻[3]、文獻[4]方法作為實驗對比方法,分別從自動分詞速度、準確率以及召回率方面測試3種系統的分詞性能。在測試過程中統一化處理不同語料庫的自動分析標準,避免不同標準對分詞準確率的影響。
1.測試環境
系統測試在實驗室環境下,對網絡檢索自動分詞系統展開性能和速度方面的測試,測試過程中的環境參數如下:
硬件環境:服務器端采用內存為8GB、搭載2.8GHz的主頻處理器,客戶端采用16GB內存的雙核處理器。
軟件環境:IE7瀏覽器,SQL Server 2016 數據庫以及Eclipse下的翻譯環境。
2.測試指標
采用自動分詞精度和速度來評價基于數據挖掘的網絡檢索自動分詞系統的性能。在網絡檢索自動分詞系統測試中,分詞準確率通常是用來評價正確切分的網絡檢索詞匯數占總切分詞匯數的比例,分詞召回率用來評價正確切分的網絡檢索詞匯數占所有檢索詞匯總數的比例。除了測試分詞的準確率和召回率外,還必須定義一個F值,來反映自動分詞準確率和召回率的綜合效果,F值即準確率和召回率的調和平均值。
3.測試結果與分析
選擇網絡檢索詞匯集中的人民日報BCC、人民日報SGM兩個語料庫進行自動分詞系統性能測試,分別采用本文方法、文獻[3]方法及文獻[4]方法對兩個語料庫進行10次自動分詞系統性能測試實驗,對兩個語料庫的自動分詞測試結果如表1、表2所示。

表1 人民日報BCC語料分詞測試結果

表2 人民日報SGM語料分詞測試結果
分析表1數據可知,在對人民日報BCC語料分詞的10次測試過程中,基于數據挖掘的網絡檢索自動分詞系統的自動分詞準確率、召回率和F值的平均值分別為94.33%、91.87%和90.18%,文獻[3]系統的自動分詞準確率、召回率和F值的平均值分別為85.42%、81.55%和82.92%,文獻[4]系統的自動分詞準確率、召回率和F值的平均值分別為83.94%、80.99%和86.46%。結果表明,3種系統的F值相差不大,本文系統略好于文獻對比系統。本文系統的準確率及召回率較好,能夠滿足網絡檢索的分詞要求。
分析表2數據可知,在對人民日報SGM語料分詞的10次測試過程中,基于數據挖掘的網絡檢索自動分詞系統的自動分詞準確率、召回率和F值的平均值分別為94.11%、91.65%和90.48%,文獻[3]系統的自動分詞準確率、召回率和F值的平均值分別為84.87%、81.19%和82.80%,文獻[4]系統的自動分詞準確率、召回率和F值的平均值分別為83.95%、80.98%和86.28%。實驗結果表明本文系統的分詞準確率,召回率及F值略高于兩種對比系統,能夠更加準確地對網絡檢索數據進行自動分詞處理。
取10次實驗結果的平均值進行對比分析,得到三種系統的分詞速度結果如圖6所示。

圖6 分詞速度比較
從圖6的結果可以看出,在300個分詞量的測試過程中,文獻[3]系統的平均分詞速度達到了64kb/s,文獻[4]系統的平均分詞速度為82kb/s,而本文設計的基于數據挖掘的網絡檢索自動分詞系統的平均分詞速度為127kb/s,最大分詞速度達到了140kb/s,高于其他兩種文獻對比系統,證明了設計系統的分詞速度較快,說明本文設計系統基本可以滿足網絡檢索的分詞需求。
本文設計了基于數據挖掘的網絡檢索自動分詞系統。分別設計網絡檢索自動分析器及網絡檢索自動分詞器,通過數據挖掘算法獲取網絡檢索詞典中的詞頻數據,利用分詞主題來查詢網絡檢索主題,將二者相匹配,實現網絡檢索詞匯的分詞處理。實驗結果表明基于數據挖掘的網絡檢索自動分詞系統的準確率及召回率分別為94.13%和91.98%,平均分詞速度為127kb/s,證明所設計自動分詞系統的準確性及效率較好,在實際應用中能夠提升網絡檢索自動分詞的準確性及效率。