盘古分词 - 多元分词
作者:eaglet
????? 盤古分詞開發了多元分詞算法,其與lucene.net 配合構建全文搜索,經測試準確度接近google和baidu的水平。現將一些實現方法和測試結果公布出來,供關心分詞和搜索技術的朋友們參考。
? ? ? 中文分詞按照分詞粒度來分,分成 一元分詞,二元分詞,多元分詞和精確分詞等類型。一元分詞就是最簡單的分詞,將所有的中文字符按照單字形式輸出。二元分詞按雙字形式輸出。多元分詞則是將 一句話中可能的單詞組合按照一定規則輸出,允許輸出的詞有重疊。精確分詞則是將一句話中最準確的單詞組合輸出,不允許輸出的詞有重疊。當然這里用精確這個 詞來修飾只是為了與其他幾種分詞方法區分,不可能有完全精確的分詞方法,因為我們偉大祖國的語言實在是博大精深,分詞本身缺乏標準(能否制定標準也是一個 問號)一些中文句子就是由人來分解也可能分出不同的結果,所以到目前為止還沒有100%精確的分詞方法。
????? 由于一元和二元分詞較為簡單,其分詞的效果也不盡理想,這里不多討論。
????? 現在讓我們看看精確分詞。下面這句話:“許仙喝了口黃酒”,精確分詞由于不能包含重疊的詞,一般可以分成 許仙/喝了/口/黃酒,用這種分詞結果構建索引,輸入黃酒,可以搜到,但輸入酒就無法搜到。而作為搜索用戶,往往需要既能搜到黃酒也能搜到 酒,google, 百度等著名搜索引擎就可以達到這種效果。我們自己開發的搜索引擎如果無法實現這種功能,用戶體驗就不會很好。為了解決這個問題,我們必須對中文句子進行多 元分解,即分解出合適的組合,比如上面的句子,如果分解為 許/仙/許仙/喝/了/口/黃/酒/黃酒/喝了口/ 那么無論我們輸入黃酒還是酒,我們都可以搜索到這條記錄。
? ? ? 多元分詞的缺點:
? ? ? 多元分詞和搜索引擎結合可以得到較多的匹配結果,但同時也增加了索引文件的大小。另外由于將一些單詞進行了拆分,搜索結果的排序會受到影響。比如搜索黃 酒,多元分詞后搜索的關鍵字組合為 黃+酒+黃酒,很可能會將只包含黃或者酒的記錄排在包含黃酒的記錄前面,這不是我們希望的結果。對于搜索引擎來說這個排序是很重要的,google,百度 就靠這個吃飯的,如果這樣瞎排,估計用戶早就把他們拋棄了。事實上,他們做的很好。
? ? ? 為了解決這個問題,盤古分詞提出了兩個概念,一個是多元分詞的冗余度(Redundancy),一個是多元分詞結果的權重級別(Rank)。
? ? ? 首先先談談冗余度,對于一句話,可能會有很多種分詞組合,我們通過冗余度的設置可以控制這個組合的數量。 盤古分詞支持3級冗余。當冗余度設置為0時,只分解最佳的分詞組合,設置為1時次之,2時再次之。
? ? ? 比如 “中華人民共和國” ,冗余度取0,1,2 時 分詞結果分別為
????? 中華人民共和國(0,5)/
? ? ? 中華(0,3)/人民共和國(2,3)/中華人民(0,3)/共和國(4,3)/中華人民共和國(0,5)/
? ? ? 中(0,2)/華(1,2)/人民共和國(2,2)/中華(0,2)/人民(2,2)/共和國(4,2)/中華人民(0,2)/共和(4,2)/國(6,2)/中華人民共和國(0,5)/
????? 其中挎號中第一個數字表示單詞在整個文章中的位置,第二個數字表示權重級別。下同。
?????
?
????? ? 盤古分詞不同分詞方法的索引大小和分詞時間比較
??????
?????? 我們再談談權重。盤古分詞將多元分詞出來的單詞根據其詞長,詞的間隔以及未登錄詞的取舍等條件給定了不同的權重。最高權重為5,最低為0。由于 Lucene.net 不支持根據權重建立索引(畢竟其不是為中文設計的),我們只能在搜索時對分解出來的關鍵字指定權重來影響搜索結果。
? ? ?? 比如黃酒這個詞,搜索關鍵詞分解為 黃酒/黃/酒 如果我們對黃酒指定較高的權重,對黃和酒指定較低的權重,那么包含黃酒的記錄將會優先于只包含黃或者酒的記錄被搜索到,這樣就基本解決了搜索排序的問題。
? ? ?? 下面來看看搜索 “長春市長春藥店” 這個句子采用盤古分詞 + Lucene.net 2.0 的搜索結果和采用 google 和百度的搜索結果的比較。冗余度取1,搜索范圍限定在 博客園 網站內。
?
? ? Google 的搜索結果 59 條符合條件的記錄 搜索關鍵字:長春市長春藥店? site:cnblogs.com
?
?
常用分詞算法的比較與設想- Alic的文件夾- 博客園
??? ?- [ Translate this page ] ??? 長春市/長春/藥店(分成3個詞,都匹配到,語義正確) ... 我們對“長春市長春藥店”進行兩種方法的分詞,但是因為逆向最大匹配法得到的“春藥店”的詞頻相比于其他詞語的 ...??? www.cnblogs.com/alic/archive/2008/06/06/1215001.html - 26k - Cached - Similar pages ??? ???
KTDictSeg 一個C#.net做的簡單快速準確的開源中文分詞組件- eaglet ...
??? ?- [ Translate this page ] ??? “長春市長春藥店”可以依次拆分為長春、長春市、市長、長春、春藥、春藥店、藥店這幾個詞, ... “長春市長春藥店”按正向最大匹配掃描順序可以出現如下匹配的單詞組合: ...??? www.cnblogs.com/eaglet/archive/2007/05/24/758833.html - 144k - Cached - Similar pages ??? ???
KTDictSeg 一個C#.net做的簡單快速準確的開源中文分詞組件- eaglet ...
??? ?- [ Translate this page ] ??? 以“長春市長春節致詞”和“長春市長春藥店”這個兩個句子為例:. “長春市長春節致詞”可以依次拆 ... “長春市長春藥店”按正向最大匹配掃描順序可以出現如下匹配的單詞組合: ...??? www.cnblogs.com/eaglet/archive/2007/06/02/758833.html - 145k - Cached - Similar pages ??? ???
漢語轉拼音(帶音調和多音字識別) - 草屋主人的blog - 博客園
??? ?- [ Translate this page ] ??? 由結果看,是分成了“長春市”“長”了如果是“長春市長大”和“長春市長治久安”,分的就 ... 另外,一般我們都會說“長春市市長”,“北京市市長”,少一個市雖然也能理解,但總 ...??? www.cnblogs.com/sunli/archive/2007/11/21/967294.html - 78k - Cached - Similar pages ??? ???
最新評論- 草屋主人的blog - 博客園
??? ?- [ Translate this page ] ??? “長春市長”試了下,確實不對這個跟分詞有關吧? 由結果看,是分成了“長春市”“長”了如果是“長春市長大”和“長春市長治久安”,分的就對的看來分詞還要做上下文分析^_^ ...??? www.cnblogs.com/sunli/RecentComments.html - 44k - Cached - Similar pages ??? ???
中文分詞組件KTDictSeg 1.2 版本發布及算法簡介- eaglet? - 博客園
??? ?- [ Translate this page ] ??? 長春市長春節致詞 長春市長春藥店 IBM的技術和服務都不錯 ... 市長 157 2 春節 159 2 致詞 161 2 -1 1 9 1 長春市 155 3 長春 158 2 藥店 170 2 ...??? www.cnblogs.com/eaglet/archive/2007/06/02/768856.html - 118k - Cached - Similar pages ??? ???
搜索引擎中中文詞組分詞的實現- 旋風- 博客園
??? ?- [ Translate this page ] ??? ps:"杭州市長春藥店"你分完詞后會是什么呢?:). #3樓 [樓主] 回復 引用 查看. 2007-04 -16 16:12 by xuanfeng. 第一步:把,”杭州市長“ ”杭州市“ “春藥店” 添加到詞庫中 ...??? www.cnblogs.com/xuanfeng/archive/2007/04/15/714312.html - 83k - Cached - Similar pages ??? ???
博客園- Clark Zheng發表的評論
??? ?- [ Translate this page ] ??? ps:"杭州市長春藥店"你分完詞后會是什么呢?:). Clark Zheng 發表于2007-4-16 11:42. re: C#基礎概念二十五問. @森林擴展或修改繼承的方法、屬性、索引器或事件的抽象 ...??? www.cnblogs.com/CommentsByAuthor.aspx?author=Clark+Zheng&page=31 - 27k - Cached - Similar pages ??? ???
博客園- xuanfeng發表的評論
??? ?- [ Translate this page ] ??? 不好意思,是“長春藥店”而不是“春藥店”! xuanfeng 發表于2007-4-16 18:39. re: 搜索引擎中中文詞組分詞的實現. 第一步:把,”杭州市長“ ”杭州市“ “春藥店” 添加到詞庫 ...??? www.cnblogs.com/CommentsByAuthor.aspx?author=xuanfeng&page=2 - 27k - Cached - Similar pages ??? ???
我的評論- 旋風- 博客園
??? ?- [ Translate this page ] ??? 不好意思,是“長春藥店”而不是“春藥店”! re: 搜索引擎中中文詞組分詞的實現 xuanfeng 2007-04-16 16:12. 第一步:把,”杭州市長“ ”杭州市“ “春藥店” 添加到詞庫中 ...??? www.cnblogs.com/xuanfeng/MyComments.html - 49k - Cached - Similar pages ???
???
?????? 百度 的搜索結果 4 條符合條件的記錄? 搜索關鍵字:site:(cnblogs.com) 長春市長春藥店
?
?常用分詞算法的比較與設想 - Alic的文件夾 - 博客園
長春市長春節致辭 2) 長春市長春藥店 我們假使詞庫中包含如下詞語“長春”,“長春市”,“市長”,“春節”,“致辭...我們對“長春市長春藥店”進行兩種方法的分詞,但是因為逆向最大匹配法得到的“春藥店”的詞頻相比于其他詞語的詞頻要...
www.cnblogs.com/alic/articles/1215001.html 33K 2008-9-4?? - 百度快照
??? ??????? ???
| KTDictSeg 一個C#.net做的簡單快速準確的開源中文分詞組件 - eagl.. ??????? 以“長春市長春節致詞”和“長春市長春藥店”這個兩個句子為例: “長春市長春節致詞”可以依次拆分為 長春、長春市...“長春市長春藥店”可以依次拆分為長春、長春市、市長、長春、春藥、春藥店、藥店 這幾個詞,按照正向最大匹配算法,... ??????? www.cnblogs.com/eaglet/archive/2007/05/24 ... 125K 2008-9-15?? - 百度快照 ??????? |
??? ??????? ???
| 中文分詞組件 KTDictSeg 1.2 版本發布及算法簡介 - eaglet - 博客.. ??????? 長春市長春節致詞 長春市長春藥店 IBM的技術和服務都不錯 張三在一月份工作會議上說的確實在理 于北京時間5月10日舉行運動會 我的和服務必在明天做好 KTDictSeg 0 9 9 1 簡介10 2 : 12 1 13 1 KTDictSeg 14 9 23 1 是24 1... ??????? www.cnblogs.com/eaglet/articles/768856.html 119K 2008-9-2?? - 百度快照 ??????? |
博客園 - 劍飄紅發表的評論
長春市長春節致詞 長春市長春藥店 IBM的技術和服務都不錯 張三在一月份工作會議上說的確實在理 于北京時間5月10日舉行運動會 我的和服務必在明天做好 KTDictSeg 0 9 9 1 簡介10 2 : 12 1 13 1 KTDictSeg 14 9 23 1 是24 1...
www.cnblogs.com/CommentsByAuthor.aspx?aut ... 35K 2008-9-3?? - 百度快照
?
?
KTDictSeg 1.4 版本 + Lucene.net 2.0 的搜索結果 376 條符合條件的記錄
?
?
??? ??????? ??????? ??? ??? ??????? ??????? ??? ??? ??????? ??????? ??? ??? ??????? ??????? ??? ??? ??????? ??????? ??? ??? ??????? ??????? ??? ??? ??????? ??????? ??? ??? ??????? ??????? ??? ??? ??????? ??????? ??? ??? ??????? ???
| 常用分詞算法的比較與設想- Alic的文件夾- 博客園 ??????? ,語義錯誤) 長春市/長春/藥店(分成3個詞,都匹配到,語義正確) 用逆向最大匹配法得到的結果是: 長春/市長/春節/致辭(分成4個詞,都匹配到,語義正確) 長春/市長/春藥店(分成3個詞,都 ??????? http://www.cnblogs.com/alic/archive/2008/06/06/1215001.html | ??????? |
| KTDictSeg 一個C#.net做的簡單快速準確的開源中文分詞組件- eaglet ... ??????? 詞結果是長春市/長/春節/致詞,按照反向最大匹配算法,分詞結果是長春/市長/春節/致詞。 “長春市長春藥店”可以依次拆分為長春、長春市、市長、長春、春藥、春藥店、藥店 這幾個 ??????? http://www.cnblogs.com/eaglet/archive/2007/05/24/758833.html | ??????? |
| 我的評論- 旋風- 博客園 ??????? sp; 第一步:把,”杭州市長“ ”杭州市“ “春藥店” 添加到詞庫中 后效果為:杭州市長/杭州市/杭州/杭/州/市長/市/長/春藥店/春藥/春/藥店/藥/店? 采用的是模糊分詞分保證每個詞語 ??????? http://www.cnblogs.com/xuanfeng/MyComments.html | ??????? |
| 博客園- Clark Zheng發表的評論 ??????? 分詞的實現???? 連著三個if+goto,為什么不用switch呢?ps:"杭州市長春藥店"你分完詞后會是什么呢?:)???? Clark Zheng 發表于 2007-4 ??????? http://www.cnblogs.com/CommentsByAuthor.aspx?author=Clark+Zheng&page=31 | ??????? |
| 搜索引擎中中文詞組分詞的實現- 旋風- 博客園 ??????? 第一步:把,”杭州市長“ ”杭州市“ “春藥店” 添加到詞庫中 后效果為:杭州市長/杭州市/杭州/杭/州/市長/市/長/春藥店/春藥/春/藥店/藥/店? 采用的是模糊分詞分保證每個詞語 ??????? http://www.cnblogs.com/xuanfeng/archive/2007/04/15/714312.html | ??????? |
| 中文分詞組件KTDictSeg 1.2 版本發布及算法簡介- eaglet? - 博客園 ??????? 9 1 長春 155 2 市長 157 2 春節 159 2 致詞 161 2? -1 1? 9 1 長春市 155 3 長春 158 2 藥店 170 ??????? http://www.cnblogs.com/eaglet/archive/2007/06/02/768856.html | ??????? |
| 最新評論- 草屋主人的blog - 博客園 ??????? 菌哥 長春市市長 re: 漢語轉拼音(帶音調和多音字識別) jason_lb 2007-11-21 16:26?? “長春市長”試了 ??????? http://www.cnblogs.com/sunli/RecentComments.html | ??????? |
| 漢語轉拼音(帶音調和多音字識別) - 草屋主人的blog - 博客園 ??????? “長春市長”試了下,確實不對這個跟分詞有關吧?由結果看,是分成了“長春市”“長”了如果是“長春市長大”和“長春市長治久安”,分的就對的看來分詞還要做上下文分 ??????? http://www.cnblogs.com/sunli/archive/2007/11/21/967294.html | ??????? |
| 前門新大街8月7日正式開街亮相- 歲月無聲- 博客園 ??????? 店都還空著沒開張,就一些老字號開張了,包括”大北照相館、慶林春茶莊、億兆百貨、都一處燒麥館、一條龍羊肉館、長春堂藥店、中國書店、南區郵局、月盛齋醬牛羊肉館、張一元茶莊分社、尚珍閣工藝品店 ??????? http://www.cnblogs.com/joe235/archive/2008/08/29/1263334.html | ??????? |
| 博客園- 560889223發表的評論 ??????? re: 我完成的C#關于在lucene下的中文切詞???? 長春市|長春節 長春市長|春節???? 560889223 發表于 2007-9-26 19:57????? ??????? http://www.cnblogs.com/CommentsByAuthor.aspx?author=560889223&page=2 |
?
???? 從搜索結果來看KTDictSeg 1.4 + Lucene.net 2.0 的搜索效果已經非常接近google的搜索效果,前10個記錄的選擇兩者基本上差不多,排序上略有區別。Baidu搜索出來的數據很少,可能其更追求搜索 的精度吧,畢竟也是國內搜索界的老大,這里不想做過多評論,好不好按百度自己的話說還是拿事實說話吧。
?
?
???? 關于KTDictSeg 的多元分詞技術,本文就介紹到這里。 KTDictSeg 1.4 版本還有最后的掃尾工作,不日即將發布。
總結
以上是生活随笔為你收集整理的盘古分词 - 多元分词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opa847方波放大电路_一种脉宽可调的
- 下一篇: cad2014一打开几秒钟后就卡住无响应