用CRF++进行词性标注

先从HMM讲起,HMM有三个用途:评估、解码和学习。评估就是给定一个HMM模型求观察序列的概率;解码就是给定一个观察序列求最有可能生成该观察序列的隐藏状态序列;学习就是根据观察序列生成生成HMM模型。而CRF是一种HMM的扩展,它与HMM正好相反,HMM是根据隐藏状态序列求观察状态序列的概率,CRF[......]

Read more

如何阅读复杂的C定义/声明(转)

就算是非常有经验的C程序员,也对那些比简单数组/指针更复杂一些的声明感到头疼。比如说,下面这个是一个指针的数组,还是一个数组的指针?

int *a[10];

下面这货到底是什么?

int (*(*vtable)[])();

当然了,这货是一个指针,指向一个数组,这个数组的每个元素是一个指针,[......]

Read more

双数组字典树实现

双数组字典树是一种特殊的字典树,由两个数组组成:base和check,base数组用来描述节点之间的状态转移关系,说通俗点,就是用来寻址的,check数组用来保存一个状态节点的父节点,在节点之间建立连接关系。base和check数组的大小一般很难预先知道,因为它还跟数据之间的组织关系有关,以不同顺序[......]

Read more