文本挖掘的分词原理
在做文本挖掘的時候,首先要做的預處理就是分詞。英文單詞天然有空格隔開容易按照空格分詞,但是也有時候需要把多個單詞做為一個分詞,比如一些名詞如“New York”,需要做為一個詞看待。而中文由于沒有空格,分詞就是一個需要專門去解決的問題了。無論是英文還是中文,分詞的原理都是類似的,本文就對文本挖掘時的分詞原理做一個總結。
1. 分詞的基本原理
現代分詞都是基于統計的分詞,而統計的樣本內容來自于一些標準的語料庫。假如有一個句子:“小明來到荔灣區”,我們期望語料庫統計后分詞的結果是:"小明/來到/荔灣/區",而不是“小明/來到/荔/灣區”。那么如何做到這一點呢?
從統計的角度,我們期望"小明/來到/荔灣/區"這個分詞后句子出現的概率要比“小明/來到/荔/灣區”大。如果用數學的語言來說說,如果有一個句子SS,它有m種分詞選項如下:
A11A12...A1n1A11A12...A1n1
A21A22...A2n2A21A22...A2n2
........................
Am1Am2...AmnmAm1Am2...Amnm
其中下標nini代表第ii種分詞的詞個數。如果我們從中選擇了最優的第rr種分詞方法,那么這種分詞方法對應的統計分布概率應該最大,即:
r=argmaxiP(Ai1,Ai2,...,Aini)r=argmax?iP(Ai1,Ai2,...,Aini)
但是我們的概率分布P(Ai1,Ai2,...,Aini)P(Ai1,Ai2,...,Aini)并不好求出來,因為它涉及到nini個分詞的聯合分布。在NLP中,為了簡化計算,我們通常使用馬爾科夫假設,即每一個分詞
總結
- 上一篇: tensorflow机器学习模型的跨平台
- 下一篇: XGBoost类库使用小结