中文分詞主要分爲三個流派:html
機械式分詞法(基於詞典):
簡單來講就是創建一個巨大的詞典,而後將詞典中的詞語和文章中的詞語相匹配,找到這個詞語就算匹配成功,可是詞典的完備性得不到保證。也就是文章中的有的詞語在詞典中找不到。python
基於語法和規則的分詞法:
分詞的同時在句法語義方面進行分析,利用句法信息和語義信息進行詞性標註,解決分詞的歧義。
由於如今的語法句法還十分複雜,因此精度還不高。web
基於統計的分詞法
根據字符串在語料庫中出現的統計頻率來決定這是不是一個詞語。算法
本文主要介紹ICTCLAS中文分詞的來源與現狀。數組
什麼是詞語和分詞規範
有人作過一個測試,被測試的有三我的來自內地 三我的來自臺灣,分詞結果差別最大0.69最小0.89平均認同率0.76說明同是漢語使用者的分詞標準有分歧
本書涉及的分詞規範有兩類:markdown
第一類包括《北大(中科院)詞性標註》、《現代漢語語料庫加工規範---詞語切分與詞性標註》、《北京大學現代漢語語料庫基本加工規範》三篇文章。編輯器
第二類爲《賓州樹庫中文分詞規範》,http://www.threedweb.cn/thread-1478-1-1.html下載 ide
將漢語的詞類主要分爲13種:名詞、動詞、代詞、形容詞、數詞、量詞、副詞、介詞、連詞、助詞、語氣詞、嘆詞和象聲詞。測試
兩種分詞標準:
例如:浙江大學坐落在西湖旁邊
粗粒度:浙江大學、坐落、在、西湖、旁邊
細粒度:浙江、大學、坐落、在、西湖、旁邊搜索引擎
粗粒度主要應用在天然語言處理的應用
細粒度主要應用在搜索引擎
機械分詞方法採用自動分詞詞典中的詞語從前日後匹配和從後往前匹配,這個方法沒有考慮詞彙上下文的相關性,準確度不高,不能知足高精度文本處理的需求。
這個機械分詞的缺陷揭示一個重要規律:
也就是每一個詞語的出現是和先後上下文有關係的,可是上下文依賴關係不能考慮太遠的詞語,若是假設每一個詞語只和相鄰的一個詞語有關係,就提出了二元模型,一階Markov鏈:
感受51CTO要提供一個公式編輯器,否則這個還能不能好好寫下去:
下面有個python實現二元模型的代碼,代碼我就不抄了,簡單來講,幾元模型就是和相鄰的幾個詞語有關係。
https://www.2cto.com/net/201701/588278.html
分詞中還要解決一個問題就是詞語是不斷更新的,詞庫裏面是沒有的,這個問題叫作未登陸詞識別:
基於半監督的條件隨機場(semi-CRF)算法 對於處理不一樣領域的專名識別具備較低的成本和較好的效果。
https://www.zhihu.com/question/35866596
ICRCLAS漢語分詞系統是由張華平博士於2002年設計開發的。。。。。歷史我就不說了仍是感謝做者張華平博士提供了這麼好的系統,如今不少知名互聯網公司都以這個算法爲分詞系統的核心算法。
hanLP分詞模塊的流程:
http://www.hankcs.com/nlp/python-calls-hanlp.html
Nshort算法原理
一、今後圖中構建處節點和權重排序數組
二、今後圖中過濾掉排序數組中權重較高的路徑
http://www.xuebuyuan.com/743558.html