中文分詞
就是將一句話分解成一個(gè)詞一個(gè)詞,英文中可以用空格來做,而中文需要用一些技術(shù)來處理。
三類分詞算法:
1. 基于字符串匹配:
將漢字串與詞典中的詞進(jìn)行匹配骡男,如果在詞典中找到某個(gè)字符串,則識別出一個(gè)詞傍睹。
優(yōu)點(diǎn)隔盛,速度快,都是O(n)時(shí)間復(fù)雜度拾稳,實(shí)現(xiàn)簡單吮炕。
缺點(diǎn),對歧義和未登錄詞處理不好访得。
此類型中常用的幾種分詞方法有:
1. 正向最大匹配法:
假設(shè)詞典中最大詞條所含的漢字個(gè)數(shù)為n個(gè)龙亲,取待處理字符串的前n個(gè)字作為匹配字段。若詞典中含有該詞,則匹配成功鳄炉,分出該詞杜耙,然后從被比較字符串的n+1處開始再取n個(gè)字組成的字段重新在詞典中匹配;如果沒有匹配成功迎膜,則將這n個(gè)字組成的字段的最后一位剔除泥技,用剩下的n一1個(gè)字組成的字段在詞典中進(jìn)行匹配浆兰,如此進(jìn)行下去磕仅,直到切分成功為止。(鏈接:http://www.reibang.com/p/e978053b0b95)2. 逆向最大匹配法:
與正向的區(qū)別在于如果匹配不成功則減去最前面的一個(gè)字簸呈。3. 最少切分
使每一句中切出的詞數(shù)最少榕订。
2. 基于理解:
通常包括三個(gè)部分:分詞(用來獲得有關(guān)詞)、句法語義(利用句法和語義信息來對分詞歧義進(jìn)行判斷)蜕便、總控劫恒。
3. 基于統(tǒng)計(jì):
對語料中相鄰共現(xiàn)的各個(gè)字的組合的頻度進(jìn)行統(tǒng)計(jì),將概率最大的分詞結(jié)果作為最終結(jié)果轿腺。常見的模型有HMM和CRF两嘴。
優(yōu)點(diǎn),能很好處理歧義和未登錄詞問題族壳。
缺點(diǎn)憔辫,需要大量的人工標(biāo)注數(shù)據(jù),以及較慢的分詞速度仿荆。
部分分詞工具:
中科院計(jì)算所NLPIR http://ictclas.nlpir.org/nlpir/
ansj分詞器 https://github.com/NLPchina/ansj_seg
哈工大的LTP https://github.com/HIT-SCIR/ltp
清華大學(xué)THULAC https://github.com/thunlp/THULAC
斯坦福分詞器贰您,Java實(shí)現(xiàn)的CRF算法。 https://nlp.stanford.edu/software/segmenter.shtml
Hanlp分詞器拢操,求解的是最短路徑锦亦。 https://github.com/hankcs/HanLP
結(jié)巴分詞,基于前綴詞典令境,生成句子中所有可能成詞所構(gòu)成的有向無環(huán)圖 (DAG)杠园,采用動(dòng)態(tài)規(guī)劃查找最大概率路徑, 找出基于詞頻的最大切分組合,對于未登錄詞舔庶,采用了 HMM 模型抛蚁,使用 Viterbi 算法。 https://github.com/yanyiwu/cppjieba
KCWS分詞器(字嵌入+Bi-LSTM+CRF)栖茉,本質(zhì)上是序列標(biāo)注篮绿。 https://github.com/koth/kcws
ZPar https://github.com/frcchang/zpar/releases
IKAnalyzer https://github.com/wks/ik-analyzer
相關(guān)文章:
一個(gè)隱馬爾科夫模型的應(yīng)用實(shí)例:中文分詞
學(xué)習(xí)資料:
http://www.reibang.com/p/e978053b0b95
https://www.zhihu.com/question/19578687/answer/190569700
推薦閱讀 歷史技術(shù)博文鏈接匯總
http://www.reibang.com/p/28f02bb59fe5
也許可以找到你想要的:
[入門問題][TensorFlow][深度學(xué)習(xí)][強(qiáng)化學(xué)習(xí)][神經(jīng)網(wǎng)絡(luò)][機(jī)器學(xué)習(xí)][自然語言處理][聊天機(jī)器人]