1. 前言
ICTCLAS是张华平老师推出的中文分词系统,于2009年更名为NLPIR。ICTCLAS是中文分词界元老级工具了,作者开放出了free版本的源代码(1.0整理版本在此). 作者在论文[1] 中宣称ICTCLAS是基于HHMM(Hierarchical Hidden Markov Model)实现,后在论文[2]中改成了基于层叠隐马尔可夫模型CHMM(Cascaded Hidden Markov Model)。我把HHMM的原论文[3]读了一遍,对照ICTCLAS源码,发现ICTCLAS本质上就是一个Bigram的Word-Based Generative Model,用HMM来做未登录词识别(修正分词)与词性标注,与HHMM没有半毛钱关系。Biagram语法模型对应于1阶Markov假设,则ICTCLAS分词模型的联合概率为
\begin{equation}
P(w_1^m) = \prod_i P(w_{i} | w_{i-1})
\label{eq:bigram}
\end{equation}
2. ICTCLAS分解
ICTCLAS Free版的C++源代码实在是佶屈聱牙,因本人水平有限