中文分詞算法 之 基於詞典的正向最小匹配算法

在以前的博文中介紹了基於詞典的正向最大匹配算法好比咱們切分句子: 中華人民共和國萬歲萬歲萬萬歲,使用正向最大匹配算法的切分結果爲:[中華人民共和國, 萬歲, 萬歲, 萬萬歲],能夠看到,切分出來的詞是很長的,粒度很粗,若是咱們想要切分出很細粒度的詞,該怎麼辦呢?java

 

本文介紹正向最小匹配算法,該算法和正向最大匹配算法相得益彰,一個強調細粒度,一個強調粗粒度。git

 

使用正向最小匹配算法,必須注意的一點是:詞典中不能有單字詞,詞的長度至少爲2!咱們看正向最小匹配算法正向最大匹配算法的代碼比較:github

 

 

切分效果以下:算法

 

切分句子: 中華人民共和國萬歲萬歲萬萬歲
正向最大匹配: [中華人民共和國, 萬歲, 萬歲, 萬萬歲]
正向最小匹配: [中華, 人民, 共和, 國, 萬歲, 萬歲, 萬萬, 歲]
切分句子: 楊尚川是APDPlat應用級產品開發平臺的做者
正向最大匹配: [楊尚川, 是, APDPlat, 應用, 級, 產品開發, 平臺, 的, 做者]
正向最小匹配: [楊尚川, 是, APDPlat, 應用, 級, 產品, 開發, 平臺, 的, 做者]
切分句子: 美國加州大學的科學家發現
正向最大匹配: [美國加州大學, 的, 科學家, 發現]
正向最小匹配: [美國, 加州, 大學, 的, 科學, 家, 發現]

  

 

 

代碼託管於GITHUBspa

 

參考資料:code

一、中文分詞十年回顧視頻

二、中文信息處理中的分詞問題blog

三、漢語自動分詞詞典機制的實驗研究教程

四、由字構詞_中文分詞新方法開發

五、漢語自動分詞研究評述

 

NUTCH/HADOOP視頻教程

相關文章
相關標籤/搜索