1. 程式人生 > >11款開放中文分詞引擎大比拼

11款開放中文分詞引擎大比拼

是否 人的 tro 例子 googl 進行 北大 art play

在逐漸步入DT(Data Technology)時代的今天,自然語義分析技術越發不可或缺。

對於我們每天打交道的中文來說,並沒有類似英文空格的邊界標誌。而理解句子所包括的詞語,則是理解漢語語句的第一步。漢語自己主動分詞的任務,通俗地說。就是要由機器在文本中的詞與詞之間自己主動加上空格。
一提到自己主動分詞,一般會遇到兩種比較典型的質疑。一種質疑是來自外行人的:這件事看上去平庸之極,好像一點兒也不“fancy”,會有什麽用呢?還有一種質疑則是來自業內:自己主動分詞研究已經進行了數年,而網上也存在各種不同的開放分詞系統。但對於實際商用似乎也未見一個“即插即用”的系統。


那麽,眼下常見的開放分詞引擎,究竟性能怎樣呢?為了進行測試,我們調研了11款網上常見的而且公開提供服務的分詞系統。包含:
技術分享

分詞的客觀量化測試離不開標註數據,即人工所準備的分詞“標準答案”。在數據源方面,我們將測試分為:

  1. 新聞數據:140篇。共30517詞語。

  2. 微博數據:200篇。共12962詞語;

  3. 汽車論壇數據(汽車之家)100篇:共27452詞語。

  4. 餐飲點評數據(大眾點評):100條。共8295詞語。

精確度計算規則:

  1. 將全部標點符號去除,不做比較

  2. 參與測試的部分系統進行了實體識別。可能造成詞語認定的不統一。我們將相應位置替換成了人工標註的結果,得到準確率估算的上界。

  3. 經過以上處理,用SIGHAN 分詞評分腳本比較得到終於的準確率,召回率和F1值。

以上全部數據採用北大現代漢語基本加工規範對全部數據進行分詞作為標準。詳細數據下載地址請參見附錄。通過這四類數據綜合對照不同分詞系統的分詞精確度。
技術分享

上圖為參與比較的10款分詞引擎在不同數據的分詞精確度結果。能夠看出。在所測試的四個數據集上,BosonNLP和哈工大語言雲都取得了較高的分詞準確率。尤其在新聞數據上。由於庖丁解牛是將所有可能成詞的詞語所有掃描出來(比如:“最不愜意”分為:“最不 不滿 愜意”),與其它系統輸出規範不同。因而不參與準確率統計。


為了更直接的比較不同數據源的區別。我們從每一個數據源的測試數據中抽取比較典型的演示樣例進行更直觀的對照。

【新聞數據】
新聞數據的特點是用詞規整,符合語法規則,也是普遍做得比較不錯的一個領域。對照其它數據源,有7家系統都在新聞領域達到最高。包含IKAnalyzer、盤古分詞、搜狗分詞、新浪雲、NLPIR、語言雲、BosonNLP。

而且有三家系統準確率超過90%。

例子:香港 中文 大學 將 來 合肥 一中 進行 招生 宣傳 今年 在 皖 招 8 人 萬家 熱線 安徽 第一 門戶

【微博數據】
微博數據用詞多樣、話題廣泛,並常包括錯別字及網絡流行詞。可以比較全面的體現每家分詞系統的精確度。

例子:補 了 battle 賽 峰暴班 的 兩 個 弟弟 妹妹 @楊寶心 @修兒 一個 是 我 非常 挺 的 好 弟弟 一個 是 我 推薦 進 好聲音 的 妹子 盡管 都 在 battle 階段 都 下來 了 可是 我 依舊 像 之前 那樣 認為 你們 非常 棒

【汽車論壇】
汽車數據是針對汽車領域的專業評價數據。會出現非常多的專業術語。比如演示樣例中的“胎噪”、“風燥”等。假設系統沒有足夠強大的訓練詞庫或領域優化,會使準確率有較大程度減少。比較有意思的是,對照其它數據源。有3家系統都在汽車論壇領域達到最高:騰訊文智、SCWS中文分詞、結巴分詞。

例子:舒適性 胎噪 風噪 偏 大 避震 偏 硬 過 坎 彈跳 明顯

【餐飲點評】
餐飲點評數據為顧客評論數據。更偏重口語化。

會出現非常多類似“閨蜜”、“萌萌噠”口語化詞語和非常多不規範的表達。使分詞更加困難。

例子:跟 閨蜜 在 西單 逛街 想 吃 壽司 了 在 西單 沒 搜 到 其它 的 日料店 就 來 禾綠 了 我們 倆 都 認為 沒 曾經 好 了

各家系統對於多數簡單規範的文本的分詞已經達到非常高的水平。

但在細致對照每一家中文分詞後依然發現切分歧義詞和未登陸詞(即未在訓練數據中出現的詞)仍然是影響分詞精確度的兩大“攔路虎”。
1.切分歧義:依據測試數據的切分結果,一類屬於機器形式的歧義。在真實語言環境下,僅僅有唯一可能的正確切分結果,稱其為偽歧義。還有一類有兩種以上可實現的切分結果,稱為真歧義。因為真歧義數據無法比較正確或者錯誤。

全部我們著重舉例來比較各家系統對偽歧義的處理效果。

正確: 在 倫敦 奧運會 上 將 可能 有 一 位 沙特阿拉伯 的 女子

(BosonNLP、新浪雲、語言雲、NLPIR、騰訊文智)

錯誤: 在 倫敦 奧運會 上將 可能 有 一 位 沙特阿拉伯 的 女子

(PHP結巴分詞、SCWS中文分詞、搜狗分詞、庖丁解牛)

演示樣例中原意指倫敦奧運會可能有一位沙特阿拉伯的女子。錯誤分詞的意思是指上將(軍銜)中有一位是沙特阿拉伯的女子,句意截然不同。當然,分析的層次越深,機器對知識庫質量、規模等的依賴性就越強,所須要的時間、空間代價也就越大。


2.未登錄詞:未登錄詞大致包括三大類:
a)新湧現的通用詞:類似“神馬”、“納尼”、“甩賣”、“玫瑰金”等新思想、新事物所帶來的新詞匯,無論是文化的、政治的、還是經濟的。在人們的生活中不斷湧現。同一時候非常多詞語也具有一定的時效性。
b)專業術語:是相對日經常使用語而言的,一般指的某一行業各種名稱用語。大多數情況為該領域的專業人士所熟知。這樣的未登錄詞理論上是可預期的。可以人工預先加入到詞表中(但這也僅僅是理想狀態,在真實環境下並不易做到)。
c)專有名詞:如中國人名、外國譯名、地名、公司名等。這樣的詞語非常多基本上不可通過詞典覆蓋。考驗分詞系統的新詞識別能力。

【新湧現的通用詞或專業術語】
演示樣例中的藍色字包含專業術語:“肚腩”、“腹肌”、“腹直肌”、“腹外斜肌”、“腹橫肌”;新湧現的通用詞:“人魚線”、“馬甲線”。大多數的系統對於演示樣例文本的分詞結果都不夠理想,比如:“大肚 腩”(SCWS中文分詞) “腹 直 肌 腹 外 斜 肌”(搜狗分詞、IKAnalyer、NLPIR、SCWS中文分詞)、“人 魚線”(PHP結巴分詞)。總的來說這兩種類型的數據每家系統都存在一定的缺陷。相對而言哈工大的語言雲在這方面表現的較好。

本 季 最 強 家庭 瘦 腰 計劃 徹底 告別 大 肚腩 沒有 腹肌 的 人生 是 不 完整 的 平面 模特 yanontheway 親身 示範 的 9 個 動作 徹底 強化腹直肌 腹外斜肌 腹內斜肌 以及 腹橫肌 每一個 動作 認真 做 足 50 次 一定 要 堅持 做 完美 的人魚線 性感 的 馬甲線 都 要 我們 自己 去 爭取

【專有名詞】
演示樣例出現的專有名詞包含“蒂莫西伊斯頓”(姓名)、“英國”“意大利”“北歐”(地點)、“金斯敦”(機構名)、“伊麗莎白 格林希爾茲”(機構名)。而這樣的用詞典無法窮盡的專有名詞也成為各家分詞準確率減少的重要原因。當中搜狗分詞、IKAnalyer、PHP結巴分詞、騰訊文智、SCWS中文分詞在新詞識別時較為慎重,常將這類專有名詞切分成多個詞語。

油畫 英國 畫家 蒂莫西伊斯頓 唯美 風 油畫 timothy easton 畢業 於 英國 金斯敦 藝術 學院 曾 獲伊麗莎白 格林希爾茲 基金會 獎 得以 前往 意大利北歐 學習 一 年 的 機會

當然在分詞精確度能夠接受的情況下。非常多細節問題,包含是否有出錯情況、是否支持各種字符、是否標註詞性等都可能讓我們望而卻步。

在分詞顆粒度選擇其中,BosonNLP、SCWS、盤古分詞、結巴分詞、庖丁解牛都提供了多種選擇。能夠依據需求來採用不同的分詞粒度。與北大的分詞標準對照來說,新浪雲默認的分詞粒度較大。而搜狗分詞、騰訊文智分詞粒度相對較小。除此之外,BosonNLP、新浪雲、NLPIR、騰訊文智同一時候提供了實體識別、情感分析、新聞分類等其它擴展服務。下表給出了各家系統在應用方面的具體對照。
技術分享
中文分詞是其它中文信息處理的基礎,而且在非常多領域都有廣泛的應用,包含搜索引擎、機器翻譯(MT)、語音合成、自己主動分類、自己主動摘要、自己主動校對等等。

隨著非結構化文本的廣泛應用,中文分詞等文本處理技術也變得越來越重要。通過評測可以看出,部分開放分詞系統在不同領域已經達到較高準確率。

對於數據分析處理的從業者,相信在此之上構建數據分析系統、人機交互平臺,更可以起到事半功倍的效果。

註意:分詞數據準備及評測由BosonNLP完畢。

附錄
評測數據地址
http://bosonnlp.com/dev/resource

各家分詞系統鏈接地址
BosonNLP:http://bosonnlp.com/dev/center
IKAnalyzer:http://www.oschina.net/p/ikanalyzer
NLPIR:http://ictclas.nlpir.org/docs
SCWS中文分詞:http://www.xunsearch.com/scws/docs.php
結巴分詞:https://github.com/fxsjy/jieba
盤古分詞:http://pangusegment.codeplex.com/
庖丁解牛:https://code.google.com/p/paoding/
搜狗分詞:http://www.sogou.com/labs/webservice/
騰訊文智:
http://www.qcloud.com/wiki/API%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3
新浪雲:http://www.sinacloud.com/doc/sae/python/segment.html
語言雲:http://www.ltp-cloud.com/document

11款開放中文分詞引擎大比拼