分詞技術怎么樣,如何掌握分詞技術?( 二 )


優點是簡單,容易實現 。缺點是:匹配速度慢;存在交集型和組合型歧義切分問題;詞本身沒有一個標準的定義,沒有統一標準的詞集;不同詞典產生的歧義也不同;缺乏自學習的智能性 。

分詞技術怎么樣,如何掌握分詞技術?

文章插圖
基于規則的分詞方法
基于統計的分詞算法的主要核心是詞是穩定的組合,因此在上下文中,相鄰的字同時出現的次數越多,就越有可能構成一個詞 。因此字與字相鄰出現的概率或頻率能較好地反映成詞的可信度 ??梢詫τ柧毼谋局邢噜彸霈F的各個字的組合的頻度進行統計,計算它們之間的互現信息 ?;ガF信息體現了漢字之間結合關系的緊密程度 。當緊密程 度高于某一個閾值時,便可以認為此字組可能構成了一個詞 。該方法又稱為無字典分詞 。
實際運用中會結合基于規則的分詞方法,不僅發揮詞典匹配的速度快的優勢,又結合無詞典分詞能夠結合上下文識別、消歧的優勢 。
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
基于統計的分詞方法
基于語義的分詞算法引入了語義分析,對自然語言自身的語言信息進行更多的處理 。
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
基于語義的分詞方法
基于理解的分詞算法,是通過讓計算機,模擬人對句子的理解,達到識別詞組的效果 ?;舅枷胧窃诜衷~的同時進行句法、語義的分析,利用句法和語義信息來處理歧義現象 。通常包含三部分:分詞子系統、句法語義子系統、總控部分 。在總控部分的協調下,分詞子系統可以獲得有關詞、句子等的句法和語義信息,來對分詞歧義進行判斷,模擬人對句子的理解過程 。目前基于理解的分詞方法主要有專家系統分詞法和神經網絡分詞法等 。
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
基于理解的分詞方法
python工具
分詞技術怎么樣,如何掌握分詞技術?

文章插圖
python分詞庫
最后介紹一些常用的python分詞庫(該部分內容在本期后續推文中會展開講解如何使用):
1.jieba:專用于分詞的python庫,分詞效果好.支持三種分詞模式:精準模式、全模式和搜索引擎模式;并且支持繁體分詞;可以自定義詞典 。它主要使用的分詞算法是基于統計的分詞算法:
a.基于前綴詞典實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖(DAG)
b.采用動態規劃查找最大概率路徑,找出基于詞頻的最大切分組合
c.對未登錄詞,采用基于漢字成詞能力的HMM模型,使用Viterbi算法
Github地址:
https://github.com/fxsjy/jieba
2.THULAC:由清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包,具有中文分詞和詞性標注功能 。THULAC具有如下幾個特點:
a.能力強 。利用集成的目前世界上規模最大的人工分詞和詞性標注中文語料庫(約含5800萬字)訓練而成,模型標注能力強大 。
b.準確率高 。該工具包在標準數據集Chinese Treebank上分詞的F1值可達97.3%,詞性標注的F1值可達到92.9%,與該數據集上最好方法效果相當 。
c.速度較快 。同時進行分詞和詞性標注速度為300KB/s,每秒可處理約15萬字 。只進行分詞速度可達到1.3MB/s.
Github地址:
https://github.com/thunlp/THULAC-Python
3.pkuseg:由北京大學語言計算與機器學習研究組研制推出的一套全新的中文分詞工具包 。具有如下幾個特點:
a.分詞準確率 。相比于其他的分詞工具包,該工具包在不同領域的數據上都大幅提高了分詞的準確度 。根據測試結果,pkuseg分別在示例數據集(MSRA和CTB8)上降低了79.33%和63.67%的分詞錯誤率 。
b.多領域分詞 。該分詞包訓練了多種不同領域的分詞模型 。根據待分詞的領域特點,用戶可以自由地選擇不同的模型 。
c.支持用戶自訓練模型 。支持用戶使用全新的標注數據進行訓練 。
Github地址:
https://github.com/lancopku/PKUSeg-python
4.FoolNLTK:根據該項目所述,這個中文工具包的特點有如下幾點:
a.可能不是最快的開源中文分詞,但很可能是最準的開源中文分詞
b.基于 BiLSTM 模型訓練而成
c.包含分詞,詞性標注,實體識別, 都有比較高的準確率
d.用戶自定義詞典
Github地址:
https://github.com/rockyzhengwu/FoolNLTK
5.LTP:語言技術平臺(Language Technology Platform,LTP)是哈工大社會計算與信息檢索研究中心歷時十年開發的一整套中文語言處理系統 。LTP制定了基于XML的語言處理結果表示,并在此基礎上提供了一整套自底向上的豐富而且高效的中文語言處理模塊(包括詞法、句法、語義等6項中文處理核心技術),以及基于動態鏈接庫(Dynamic Link Library, DLL)的應用程序接口、可視化工具,并且能夠以網絡服務(Web Service)的形式進行使用 。

推薦閱讀